java - 使用 Selenium JAVA 的 IE 和 Chrome 的整页截图

标签 java google-chrome firefox selenium cucumber

我正在尝试使用 Java 中的 Selenium 获取整页(没有任何滚动条)屏幕截图。我下面的代码在 Firefox 29 中运行完美。我在 Chrome 35 中测试了相同的代码,它正在截取部分屏幕截图(不是整页,带有滚动条的屏幕),并且 IE8 不支持使用 Selenium Drive 进行屏幕截图。

File scrFile = ((TakesScreenshot) driver).getScreenshotAs(OutputType.FILE);
FileUtils.copyFile(scrFile, new File("C://screenshot//" + image1.jpg));

最佳答案

我在任何浏览器中都没有看到屏幕截图有任何问题。对我来说,它需要完整的页面 View 。

您可以尝试使用以下使用augmenter()的方法,该方法通常用于RemoteWebDriver执行。

WebDriver augmentedDriver = new Augmenter().augment(driver); 

File f = null; 

if (augmentedDriver instanceof TakesScreenshot) { 
   f = ((TakesScreenshot) augmentedDriver).getScreenshotAs(OutputType.FILE); 
} else { 
    // screenshot not taken
} 

关于java - 使用 Selenium JAVA 的 IE 和 Chrome 的整页截图,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24269290/

相关文章:

java - 如何动态创建准备好的语句 - 并重新使用查询

java - 如何在不使用 spring 的 @Transactional beans 的情况下管理 jax-rs 中的事务

google-chrome - Chrome 无法使用 chromedriver2.9 在 CentOS 上启动

python - 无法使用 Selenium 将文本发送到 Microsoft 登录页面上的电子邮件字段

internet-explorer - 页面上的 anchor 链接在 Firefox 或 IE 中不起作用,但在 Chrome 和 Safari 中起作用

javascript - 如何触发观察者通知,并在另一个 XUL 窗口上设置监听器

Javascript 在 Firefox 3.6 中破坏页面

java - 如何使用 hibernate xml 创建一个实体的多个版本?

java - 如果 long 值小到足以适合 int,则 long 转换为 int

google-chrome - 右键单击在 Linux 上的 Chrome 中显示黑框