Selenium 2.53 与 Firefox 47 的兼容性
尝试在 Firefox 中使用 WebDriver 时,可能会遇到错误:
org.openqa.selenium.firefox.NotConnectedException: Unable to connect to host 127.0.0.1 on port 7055 after 45000 ms.
环境详细信息:
原因和解决方案
不幸的是,Selenium WebDriver 2.53.0 与 Firefox 47.0 不兼容。处理 Firefox 浏览器的旧 WebDriver 组件 (FirefoxDriver) 正在逐步淘汰。从版本 3.0 开始,Selenium WebDriver 需要 geckodriver 二进制文件来控制 Firefox 浏览器。
要解决此问题,请下载 Firefox 驱动程序 (geckodriver) 并使用 Java 系统将 webdriver.gecko.driver 变量设置为其绝对路径属性:
System.setProperty("webdriver.gecko.driver", "/path/to/geckodriver");
或者,您可以利用 WebDriverManager 库来自动化此过程,该过程会根据您的操作系统下载适当的 Marionette 二进制文件并将其分配给系统属性。在您的项目中包含以下依赖项:
<dependency> <groupId>io.github.bonigarcia</groupId> <artifactId>webdrivermanager</artifactId> <version>5.1.0</version> </dependency>
然后,在使用 WebDriver 之前执行以下行:
WebDriverManager.firefoxdriver().setup();
附加说明
Marionette 是 Firefox 浏览器自动化的未来,将取代 WebDriver 3 和 Firefox 48 。然而,目前(版本 0.9.0)其稳定性值得怀疑。详情请参阅 Marionette 路线图。
近期更新
2016 年 6 月 30 日,Selenium WebDriver 2.53.1 发布,恢复 FirefoxDriver 与 Firefox 47.0.1 的兼容性.
以上是为什么 Selenium 2.53.0 与 Firefox 47.0 不兼容?的详细内容。更多信息请关注PHP中文网其他相关文章!