作者:mobiledu2502917293 | 来源:互联网 | 2022-12-01 20:34
如何解决《WebDriverException:未知错误:无法将窗口状态更改为最大化,当前状态正常,MACOSX上的Chrome70和Chromedriver2.43》经验,为你挑选了1个好方法。
1> DebanjanB..:
此错误消息...
org.openqa.selenium.WebDriverException: unknown error: failed to change window state to maximized, current state is normal
...暗示ChromeDriver无法最大化Chrome浏览器客户端的窗口状态.
Buggy Mac OSX ChromeDriver取代了
Chrome版本70发布后,有些人报告说使用ChromeDriver最大化Mac上的浏览器窗口不再有效.ChromeDriver团队已调查此问题,并为其创建了修复程序.ChromeDriver构建版本现已在以下位置提供:
如果您使用的是Chrome版本70(当前的稳定版本),请从https://chromedriver.storage.googleapis.com/index.html?path=70.0.3538.97/下载ChromeDriver版本70.0.3538.97
如果您使用的是Chrome版本71(当前测试版),请从https://chromedriver.storage.googleapis.com/index.html?path=71.0.3578.33/下载ChromeDriver版本71.0.3578.33
ChromeDriver发布电子邮件快照
但是,您的主要问题是您使用的二进制文件版本之间的不兼容性如下:
你的JDK版本是1.8.0_131,非常古老.
将JDK升级到最新级别JDK 8u181.
您的Selenium客户端版本是3.4.0,差不多一年了.
将Selenium升级到当前级别版本3.14.0.
从另一个角度来看,此问题看起来像功能请求中的回归问题:ChromeDriver支持通过远程连接调整窗口大小.
发行说明中的ChromeDriver v2.43明确提到:
ChromeDriver支持通过远程连接调整窗口大小
但是,根据最大化Chrome浏览器客户端最佳做法,建议使用如下类:ChromeOptions
System.setProperty("webdriver.chrome.driver", "C:\\your_directory\\chromedriver.exe");
ChromeOptions opt = new ChromeOptions();
opt.addArguments("disable-infobars");
opt.addArguments("--start-maximized");
opt.addArguments("--disable-extensions");
WebDriver driver = new ChromeDriver(opt);
driver.get("https://google.com");
参考
你可以在chrome.manage()中找到详细的讨论.使用ChromeDriver 2.33的window().maximize()问题
更新(2018年11月20日)
ChromeDriver 2.44已发布.
ChromeDriver 2.44支持Chrome版本69到71
此版本与ChromeDriver 2.43类似,但还有其他错误修复.
支持chrome 72.x的ChromeDriver预计将于12月初发布.