我正在使用selenium和python,并从我的网站下载了我的Windows计算机的chromedriver:http://chromedriver.storage.googleapis.com/index.html?path = 2.15 /
下载zip文件后,我将zip文件解压缩到我的下载文件夹.然后我将路径到可执行二进制文件(C:\ Users\michael\Downloads\chromedriver_win32)放入环境变量"路径".
但是,当我运行以下代码时:
from selenium import webdriver
driver = webdriver.Chrome()
Run Code Online (Sandbox Code Playgroud)
...我一直收到以下错误消息:
WebDriverException: Message: 'chromedriver' executable needs to be available in the path. Please look at http://docs.seleniumhq.org/download/#thirdPartyDrivers and read up at http://code.google.com/p/selenium/wiki/ChromeDriver
Run Code Online (Sandbox Code Playgroud)
但是 - 如上所述 - 可执行文件是(!)在路径中...这里发生了什么?
例外:
org.openqa.selenium.SessionNotCreatedException: session not created: This version of ChromeDriver only supports Chrome version 114
Current browser version is 116.0.5845.111 with binary path
Run Code Online (Sandbox Code Playgroud)
pom.xml
<dependency>
<groupId>org.seleniumhq.selenium</groupId>
<artifactId>selenium-java</artifactId>
<version>3.141.59</version>
</dependency>
<dependency>
<groupId>io.github.bonigarcia</groupId>
<artifactId>webdrivermanager</artifactId>
<version>3.7.1</version>
</dependency>
Run Code Online (Sandbox Code Playgroud)
设置ChromeOptions并最终创建网络驱动程序的代码:
WebDriverManager.chromedriver().setup();
ChromeOptions options = new ChromeOptions();
options.addArguments("--no-sandbox");
options.addArguments("--test-type");
options.addArguments("--start-maximized");
if (setBrowserUI().equals("yes")) {
options.addArguments("--headless");
}
options.addArguments("Browser.setDownloadBehavior", "allow");
options.addArguments("--disable-extensions");
options.addArguments("--disable-dev-shm-usage");
options.setExperimentalOption("prefs", chromePrefs);
base.driver = new ChromeDriver(options);
Run Code Online (Sandbox Code Playgroud)
项目限制阻止了所使用的 Selenium 版本的升级。除了更新到 Selenium 版本 4.x 之外还有其他方法可以解决吗?
java selenium-chromedriver selenium-webdriver webdriver-manager