问题描述
ChromeDriver 2.33 的发行说明说修复了导致调整大小/定位窗口命令在 Chrome 62+ 上失败的错误"但是当我使用 Chrome 62+ 浏览器时,这似乎仍然是一个问题.最大化 chrome 窗口使用 chrome 驱动程序导致以下异常.请问有人知道解决方案吗?
The release notes for ChromeDriver 2.33 says that ""Fixes a bug which caused Resizing/Positioning Window commands to fail on Chrome 62+" however this still seems to be an issue when i am using Chrome 62+ browser. Maximizing chrome window using chrome driver results in below exception. Does anyone know a solution please?
我注意到的另一件事是,虽然我从 https://chromedriver.storage.googleapis.com/index.html?path=2.33/,下面打印的日志显示驱动程序信息:chromedriver=2.25.426923!!
Another thing i noticed is, though i installed latest chromedriver (v2.33) from https://chromedriver.storage.googleapis.com/index.html?path=2.33/, the log printed below says Driver info: chromedriver=2.25.426923 !!
线程main"org.openqa.selenium.WebDriverException 中的异常:未知错误:无法从未知错误中获取自动化扩展:找不到页面:chrome-extension://aapnijgdinlhnhlmodcfapnahmbfebeb/_generated_background_page.html(会话信息:chrome=62.0.3202.62)(驱动程序信息:铬驱动程序 = 2.25.426923(0390b88869384d6eb0d5d09729679f934aab9eed),平台=Windows NT10.0.15063 x86_64)(警告:服务器没有提供任何堆栈跟踪信息)
推荐答案
正好有 2 个问题.
正如您所提到的,您已经安装了最新的 chromedriver (v2.33),但下面打印的日志显示驱动程序信息:chromedriver=2.25.426923,必须首先解决这个问题.您可以考虑从
Task Manager
手动杀死所有悬空的chromedriver.exe
任务.此外,您可以考虑使用CCleaner
从系统中清除所有腐烂的操作系统内容.如果需要,请重新启动系统.最后确保您在System.setProperty()
中使用的chromedriver.exe
的绝对位置确保chromedriver 二进制文件的版本为 2.33.
As you mentioned, you have installed latest chromedriver (v2.33) but the log printed below says Driver info: chromedriver=2.25.426923, this issue must be addressed first. You can consider to manually kill all the dangling
chromedriver.exe
tasks from theTask Manager
. Additionally you can consider to useCCleaner
to wipe out all the rotten OS stuffs from your system. Take a system reboot if required. Finally ensure that what ever the absolute location ofchromedriver.exe
you are using withinSystem.setProperty()
ensure that the chromedriver binary is of version 2.33.
最后,建议使用 ChromeOptions
类来最大化
Web 浏览器,如下所示:
Finally, it is suggested to use ChromeOptions
class to maximize
the Web Browser as follows:
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");
以下是一些可以解决您的问题的替代方案:
Here are some of the alternatives which may solve your question:
使用 界面:
Using
maximize()
from WebDriver.Window interface :
driver.manage().window().maximize();
使用来自 界面:
Using setSize(Dimension targetSize)
from WebDriver.Window interface:
driver.manage().window().setSize(new Dimension(800, 600));
使用 addArguments("--start-maximized")
通过 ChromeOptions:
chromeOptions.addArguments("--start-maximized");
使用 addArguments("--window-size=1920,1080")
通过 ChromeOptions:
chromeOptions.addArguments("--window-size=1920,1080");
使用 接口:
Using executeScript()
from JavaScriptExecutor interface:
((JavaScriptExecutor)driver).executeScript("window.resizeTo(1024, 768);");
您可以在 Chrome - org.openqa.selenium.WebDriverException:未知错误:无法在 driver.manage().window().maximize();.
这篇关于ChromeDriver 2.33 的 driver.manage().window().maximize() 问题的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!