首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >WebDriverException:未能用GeckoDriver Firefox和Selenium Java连接到二进制FirefoxBinary(C:\Program \Mozilla Firefox\firefox.exe)

WebDriverException:未能用GeckoDriver Firefox和Selenium Java连接到二进制FirefoxBinary(C:\Program \Mozilla Firefox\firefox.exe)
EN

Stack Overflow用户
提问于 2020-01-13 02:36:54
回答 1查看 486关注 0票数 1

使用Selenium 3.1.0,firefox最新版本72.0,默认firefox驱动程序2.53.1,这是我的代码

代码语言:javascript
运行
复制
System.setProperty("webdriver.gecko.driver" ,"C:\\Users\\sindhusha.tummala\\Downloads\\geckodriver.exe");
driver = new FirefoxDriver();

不过,我还是搞错了

代码语言:javascript
运行
复制
org.openqa.selenium.WebDriverException: Failed to connect to binary FirefoxBinary(C:\Program Files\Mozilla Firefox\firefox.exe) on port 7055; 

有人能帮上忙吗

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-01-13 06:57:10

这个错误信息..。

代码语言:javascript
运行
复制
org.openqa.selenium.WebDriverException: Failed to connect to binary FirefoxBinary(C:\Program Files\Mozilla Firefox\firefox.exe) on port 7055; 

...implies表示GeckoDriver二进制文件(可执行文件)无法启动/生成新的浏览上下文,即Firefox浏览器会话,因为它无法找到FirefoxBinary。

当Firefox没有安装在默认位置或根本没有安装时,就会出现此问题。

解决方案

为解决这一问题:

  • 如果Firefox不是全部安装的,那么您必须安装它。
  • 如果Firefox没有安装在默认位置,您需要通过参数firefox_binary传递Firefox二进制的绝对路径,如下所示:
  • 代码块: 公共类A_Firefox_binary {公共静态虚主(String[] args) { System.setProperty("webdriver.gecko.driver",“C:/Utility/BrowserDriver/geckodriver.exe”);FirefoxOptions选项=新FirefoxOptions();options.setBinary("C:\path\to\firefox.exe");WebDriver驱动程序=新FirefoxDriver(选项);driver.get(“https://stackoverflow.com"”);System.out.println(“页面标题是:”+driver.getTitle();driver.quit();}

附加考虑

确保:

  • 将JDK升级到最近的级别JDK 8u222
  • 将Selenium升级到当前级别版本3.141.59
  • 将GeckoDriver升级到GeckoDriver v0.26.0级别。
  • GeckoDriver存在于所需的位置。
  • GeckoDriver对非根用户具有可执行权限.
  • 将火狐版本升级到火狐v70.0级别。
  • 通过IDE清理项目工作区,并仅使用所需的依赖项重新构建项目。
  • (仅限WindowsOS)使用https://www.ccleaner.com/ccleaner工具在执行测试套件之前和之后清除所有操作系统杂务。
  • (仅限LinuxOS)测试套件执行前后的释放Ubuntu/Linux中未使用/缓存的内存
  • 如果您的基本Web客户端版本太旧,那么通过https://www.revouninstaller.com/revo_uninstaller_free_download.html卸载它,并安装最新的GA和发布版本的Web。
  • 重新启动系统。
  • 以非根用户的身份执行Test
  • 始终在tearDown(){}方法中调用tearDown(){}来关闭和销毁WebDriver和WebDriver实例。

欧特罗

您可以在以下几个方面找到相关的讨论:

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59709978

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档