selenium - WebDriver takeScreenshot() 返回空白屏幕

标签 selenium jenkins webdriver cucumber screenshot

如果我在本地计算机(Macbook)上尝试

byte[] screen = driver.takeScreenshot();

驱动程序:

public byte[] takeScreenshot() {
        return ((TakesScreenshot) driver).getScreenshotAs(OutputType.BYTES);
    }

我明白了

SCREENSHOT BYTES: -119807871131026100001373726882008520054886000-7418-1053100122110567678073676732801141111021051081010072 ... 66-51-53-81-71-37-7131115-33-25-66-501218163264-12801248163264-12801248163264-12801248163264-12801291446-13-31-13-36105-1856119-104-112-3112194-3361471279-107-3665110-3364000073697868-826696-126

但是如果我在 Jenkins Windows 从机上尝试,我会得到

SCREENSHOT BYTES: -1198078711310261000013737268820040002-1058600028-82566600109573686584120-100-19-63491000-62-96-11791091063 960000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000...00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000466116-201-91-24-43-101000073697868-826696-126

这是图像,但空白(不可见)。

我也在 Chromedriver、Geckodriver 和 IE 驱动程序中尝试过。

最佳答案

我遇到了几乎相同的问题,并通过将我的 Chrome 从版本 59.0.3071.115 更新到 Google Chrome beta v60.0.3112.40 解决了该问题。

我的问题是 Selenium 屏幕截图在本地运行良好,但自上周以来仅在 Jenkins 上进行空白屏幕截图。这是screenshot before my updating to Chrome Beta version .

然后我发现Google在6月27日发布了新版本的Chrome。而我的Chrome在6月30日自动更新了。这就是原因。

我尝试将 chromedriver 2.28 升级到 2.3,将 Chrome 回滚到版本 64_59.0.3071.86,但从未成功。然后我发现下面的链接非常有帮助。

Chrome 59 remote desktop chromedriver.exe saves white/blank

Selenium ChromeDriver makes blank screenshots

关于selenium - WebDriver takeScreenshot() 返回空白屏幕,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44844572/

相关文章:

jenkins - Jenkins 存储插件配置的地方

selenium - 无法在窗口之间切换

java - Selenium Webdriver 在执行测试脚本期间非常不一致

firefox - 在 Selenium 2 中使用现有的 Firefox 配置文件 - 不起作用?一个错误?

selenium - Web 驱动程序在检查元素的不可见性时不等待指定的时间限制

java - Selenium 与引文的混淆

java - Webdriver 尝试单击按钮但收到 'server did not provide a static trace' ?

javascript - 如何从 Selenium 中的日期选择器中选择今天的日期和时间(+15 分钟)

node.js - 如何从 Jenkins 运行 npm/grunt 命令

android - Jenkins Google Play Android Publisher 插件 androidApkMove 不在轨道之间移动发行说明