如果我在本地计算机(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 - WebDriver takeScreenshot() 返回空白屏幕,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44844572/