我正在 Eclipse 中设置一个新的 Selenium maven 项目,并使用 selenium 版本 4.18.1
在pom.xml文件中
<dependency>
<groupId>org.seleniumhq.selenium</groupId>
<artifactId>selenium-java</artifactId>
<version>4.18.1</version>
</dependency>
我的java版本是1.11
每当我尝试运行简单的测试时,都会收到错误: 线程“main”org.openqa.selenium.remote.NoSuchDriverException中出现异常:无法获取:功能{browserName:Chrome,goog:chromeOptions:{args:[],扩展名:[]}},错误无法运行命令: [--浏览器、chrome、--语言绑定、java、--输出、json] 构建信息:版本:'4.18.1',修订版:'b1d3319b48' 系统信息:os.name:'Windows 10',os.arch:'amd64',os.version:'10.0',java.version:'11.0.22' 驱动程序信息:driver.version:ChromeDriver
我还收到一个弹出窗口,表明由于安全隐患,我的组织已阻止 selenium-manager.exe。在调查时,我发现以下与 selenium-manager.exe 相关的持续错误:https://github.com/SeleniumHQ/selenium/issues/13130
这表明它将继续被安全部门阻止,直到修复完成为止。
我必须使用这些版本的 Selenium 才能与我的 Chrome 版本 122 兼容。
我的问题是,我是否可以绕过 selenium-manager.exe 进行设置?我的 POM 文件中也有 webdriver 管理器 - 可以使用它吗?
<dependency>
<groupId>oi.github.bonigarcia</groupId>
<artifactId>webdrivermanager</artifactId>
<version>5.6.0</version>
<scope>test</scope>
</dependency>
我尝试使用早期版本的 selenium-java 但这与我的 chrome/java 版本不兼容。我无法使用早期的 java 版本,因为我的系统已自动将 chrome 和 chrome 驱动程序版本升级到 122。我不想降级我的 chrome/chrome 驱动程序版本。我已阅读了所有与此相关的问题,但尚未找到解决方案。
我尝试移动 selenium-manager.exe 文件的位置,看看是否可以在其他地方打开它,但我不能。
编辑: 这是我尝试运行的简单测试:
import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.chrome.ChromeDriver;
public class testRun {
public static void main(String[] args) {
Webdriver driver = new ChromeDriver();
driver.get("https://www.google.com");
driver.getTitle();
WebElement authenticate = driver.findElement(By.id("login-submit"));
authenticate.click();
System.out.println("test has ended");
driver.quit();
}
}
参考下面的代码在java中手动设置
chromedriver.exe
。
System.setProperty("webdriver.chrome.driver", "C:\\<full path>\\chromedriver.exe");
Webdriver driver = new ChromeDriver();
driver.get("https://www.google.com");