我正在尝试用chromedriver进行硒测试。要在启动时隐藏chrome窗口,我使用以下代码。参考https://sqa.stackexchange.com/a/15489。
driver.manage().window().setPosition(new Point(-2000, 0));
上面的代码在我的本地Windows 7操作系统和另一台运行Windows 8的远程计算机上工作正常,但在运行Windows 10的一台远程计算机中出现以下异常时失败。
[66.916][SEVERE]: Timed out receiving message from renderer: -11.117
Exception in Main org.openqa.selenium.WebDriverException: unknown error: cannot get automation extension
from timeout
对于这个例外,我在网上找到的每个答案都只涉及将chromedriver和chrome更新到我已经完成的最新版本。
我在所有操作系统中使用相同的版本: 镀铬驱动程序:2.29.461591 chrome版本:58.0.3029.110 Selenium版本:2.33.0
OS Info失败的地方: Windows 10 Home 64位
非常感谢任何帮助,谢谢。
答案 0 :(得分:1)
只是预感 - 由于您的操作系统是64位,因此您的Chrome浏览器也可能是64位。您可能还安装了32位chrome并且webdriver正在启动可能未更新的32位? (再次只是预感)。
首先检查您是否有32位或64位。您应该可以点击Chrome帮助>来区分。关于Google Chrome。
与下面显示的不同,32位不会有#34;(64位)"版本号旁边的文字。
现在将版本与webdriver启动的版本进行比较,然后才能收到错误。
如果不同,请尝试通过执行以下操作设置二进制文件:
ChromeOptions options = new ChromeOptions();
options.setBinary("path/to/latest/64-bit/chrome/Chrome.exe");
System.setProperty(ChromeDriverService.CHROME_DRIVER_EXE_PROPERTY, "path/to/chrome/driver/chromedriver");
DesiredCapabilities capabilities = DesiredCapabilities.chrome();
capabilities.setCapability(ChromeOptions.CAPABILITY, options);
WebDriver driver = new ChromeDriver(capabilities);
只是预感,但我希望它有所帮助。
PS。我用我的机器Win7 64位尝试了同样的事情并且它正在工作。
答案 1 :(得分:0)
尝试更改您的机器分辨率,以便移动的镀铬窗口在远程机器中不会完全消失。