文档章节

如何使用Selenium WebDriver截屏

 技术盛宴
发布于 01/19 12:47
字数 270
阅读 177
收藏 0

有谁知道是否可以使用Selenium WebDriver截屏? (注:不是硒RC)


#1楼

吉顿

import org.openqa.selenium.OutputType as OutputType
import org.apache.commons.io.FileUtils as FileUtils
import java.io.File as File
import org.openqa.selenium.firefox.FirefoxDriver as FirefoxDriver

self.driver = FirefoxDriver()
tempfile = self.driver.getScreenshotAs(OutputType.FILE)
FileUtils.copyFile(tempfile, File("C:\\screenshot.png"))

#2楼

爪哇

public String captureScreen() {
    String path;
    try {
        WebDriver augmentedDriver = new Augmenter().augment(driver);
        File source = ((TakesScreenshot)augmentedDriver).getScreenshotAs(OutputType.FILE);
        path = "./target/screenshots/" + source.getName();
        FileUtils.copyFile(source, new File(path)); 
    }
    catch(IOException e) {
        path = "Failed to capture screenshot: " + e.getMessage();
    }
    return path;
}

#3楼

PHP(PHPUnit)

使用PHPUnit_Selenium扩展版本1.2.7:

class MyTestClass extends PHPUnit_Extensions_Selenium2TestCase {
    ...
    public function screenshot($filepath) {
        $filedata = $this->currentScreenshot();
        file_put_contents($filepath, $filedata);
    }

    public function testSomething() {          
        $this->screenshot('/path/to/screenshot.png');
    }
    ...
}

#4楼

蟒蛇

您可以使用python网络驱动程序从Windows捕获图像。 使用以下页面需要捕获屏幕截图的代码

driver.save_screenshot('c:\foldername\filename.extension(png,jpeg)')

#5楼

红宝石(黄瓜)

After do |scenario| 
    if(scenario.failed?)
        puts "after step is executed"
    end
    time = Time.now.strftime('%a_%e_%Y_%l_%m_%p_%M')

    file_path = File.expand_path(File.dirname(__FILE__) + '/../../../../../mlife_screens_shot')+'/'+time +'.png'

    page.driver.browser.save_screenshot file_path
end

Given /^snapshot$/ do
    time = Time.now.strftime('%a_%e_%Y_%l_%m_%p_%M')

    file_path = File.expand_path(File.dirname(__FILE__) + '/../../../../../mlife_screens_shot')+'/'+time +'.png'
    page.driver.browser.save_screenshot file_path
end

本文转载自:https://stackoom.com/question/EMHm/如何使用Selenium-WebDriver截屏

粉丝 0
博文 1191
码字总数 0
作品 0
深圳
高级程序员
私信 提问
加载中

评论(0)

selenium WebDriver跳转到下一级页面是用的action请求,怎么办?

使用selenium WebDriver,定位到一个menu,页面源码中是这样的: ………… 请各位大神指导下selenium WebDriver如何模拟这个请求,跳转到对应的页面。先谢过了! 注:编程语言不限,java、r...

goonsimon
2013/05/30
4K
1
Selenium基础知识

本人博客文章网址:https://www.peretang.com/basic-knowledge-of-selenium/ 什么是Selenium Selenium是一个自动化测试工具 是一组不同的工具 其支持在多个浏览器平台上执行测试 为什么需要S...

PereTang
2017/06/06
0
0
截屏软件--TBPrintScreen

1.这是什么软件。 这是一款静态截屏软件,和QQ截屏类似(非动态视频录制)。我在本科大三时(2011年春天)完成。在当时,我有信心的说TBPrintscreen是最高效的截屏软件之一。当时找了不下20款...

大道容人
2015/03/01
1.5K
3
求:有基于selenium webdriver的python语言的测试框架

谁知道有基于selenium webdriver的python测试框架,提供下 谢谢

Rebecca.Hu
2012/03/08
2.3K
2
Android 截屏的各种骚操作

本文公众号「AndroidTraveler」首发。 背景 在实际的应用场景中,Android 手机的截屏其实是很普遍的。 比如说 PPT 演示,比如说技术博客图文并茂讲解。 因此懂得 Android 手机截屏的各种操作...

AndroidTraveler
2019/05/21
0
0

没有更多内容

加载失败,请刷新页面

加载更多

Tomcat优化配置

启动tomcat,访问配置: http://localhost:8080/manager/status

小小小施爷
19分钟前
51
0
如何更改为旧版本的Node.js

我在Ubuntu 10.10上运行Node.js版本v0.5.9-pre 。 我想使用v0.5.0-pre版本。 如何回滚到旧版本的节点? #1楼 用于管理Node的多个版本的另一个好的库是N: https : //github.com/visionmedia...

技术盛宴
25分钟前
68
0
三极管工作原理

随着科学技的发展,电子技术的应用几乎渗透到了人们生产生活的方方面面。晶体三极管作为电子技术中一个最为基本的常用器件,其原理对于学习电子技术的人自然应该是一个重点。三极管原理的关键...

黑客画家
28分钟前
105
0
WordCounter for mac(字数统计器) v1.6.2

想要快速的完成mac电脑上的文档字数统计,字数统计器WordCounter mac版是您的首先,该软件可以查看您的写作统计,如字数,字数,句数,行数,段数等简单而强大,别犹豫了来macdown下载体验吧...

云不若
30分钟前
47
0
mybatis-generator-maven-plugin:Communications link failure

使用 mybatis-generator 的 maven 插件可能会报出如下问题 Failed to execute goal org.mybatis.generator:mybatis-generator-maven-plugin:1.3.7:generate (default-cli) on project MyProj......

恒宝乐园
30分钟前
69
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部