当我使用 Firefox 执行 Selenium 脚本时,Firefox 会打开,但不会重定向到 URL。以下是 Eclipse 控制台上显示的错误:
org.openqa.selenium.firefox.NotConnectedException: Unable to connect to host 127.0.0.1 on port 7055 after 45000 ms. Firefox console output:
console.error: JsonSchemaValidator.jsm
我的脚本如下:
package testCases;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.firefox.FirefoxDriver;
public class Authentication {
public static void main(String[] args) {
System.setProperty("webdriver.gecko.driver","C:/usine-dev/workdir/workspace/test-bleu-horizon/src/test/resources/drivers/geckodriver.exe" );
WebDriver driver = new FirefoxDriver();
driver.get("https://github.com/");
}
}
我正在使用
selenium-java-4.10.0.jar
和geckodriver (v0.32.0 )
firefox 102.9.0esr (32 bits)
,windows 10
我已经尝试了所有版本,但通常都会遇到相同的错误
由于您使用的是selenium
v4.10.0
,因此您实际上不必再设置driver.exe
的路径。 Selenium 的新模块 SeleniumManager
将为您处理浏览器和浏览器驱动程序。
删除以下行并尝试,看看是否可以解决问题:
System.setProperty("webdriver.gecko.driver","C:/usine-dev/workdir/workspace/test-bleu-horizon/src/test/resources/drivers/geckodriver.exe" );
就保持这样:
public static void main(String[] args) {
WebDriver driver = new FirefoxDriver();
driver.get("https://github.com/");
}
更新: 如果尽管执行上述操作仍不起作用,请将
firefox
更新到最新版本,然后重试(如果可以解决问题)。
普通版 Firefox 和 Firefox 扩展支持版本或快速版本 并不相同。
要打开由 Selenium 驱动的 GeckoDriver 发起的 Firefox Extended Support Release 或 Rapid Release 浏览上下文,您需要通过 setBinary()
的 FirefoxOptions
方法传递
二进制文件的绝对位置对象如下:
FirefoxOptions options = new FirefoxOptions();
options.setBinary("C:\\path\\to\\firefoxESR.exe");
WebDriver driver = new FirefoxDriver(options);
driver.get("https://github.com/");