Firefox 浏览器未使用 selenium webbrowser 代码打开 [重复]

Posted

技术标签:

【中文标题】Firefox 浏览器未使用 selenium webbrowser 代码打开 [重复]【英文标题】:Firefox browser is not opening with selenium webbrowser code [duplicate] 【发布时间】:2016-12-09 15:26:25 【问题描述】:

需要以下指导和帮助。

执行以下代码时,出现错误。我正在使用最新版本的 java、eclipse、firefox 和 WebDrive jar 文件。

package firsttest1;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.firefox.FirefoxDriver;
public class helloselenium 
    public static void main(String[] args) 
        WebDriver driver;
        driver =new FirefoxDriver();
        String url ="http://www.google.com";
        driver.get(url);
    

错误....

线程“main”中的异常 java.lang.IllegalStateException:驱动程序可执行文件的路径必须由 webdriver.gecko.driver 系统属性设置;有关详细信息,请参阅https://github.com/mozilla/geckodriver。最新版本可以从https://github.com/mozilla/geckodriver/releases下载 在 com.google.common.base.Preconditions.checkState(Preconditions.java:199) 在 org.openqa.selenium.remote.service.DriverService.findExecutable(DriverService.java:109) 在 org.openqa.selenium.firefox.GeckoDriverService.access 100 美元(GeckoDriverService.java:38) 在 org.openqa.selenium.firefox.GeckoDriverService$Builder.findDefaultExecutable(GeckoDriverService.java:91) 在 org.openqa.selenium.remote.service.DriverService$Builder.build(DriverService.java:296) 在 org.openqa.selenium.firefox.FirefoxDriver.createCommandExecutor(FirefoxDriver.java:245) 在 org.openqa.selenium.firefox.FirefoxDriver.(FirefoxDriver.java:220) 在 org.openqa.selenium.firefox.FirefoxDriver.(FirefoxDriver.java:215) 在 org.openqa.selenium.firefox.FirefoxDriver.(FirefoxDriver.java:211) 在 org.openqa.selenium.firefox.FirefoxDriver.(FirefoxDriver.java:124) 首先test1.helloselenium.main(helloselenium.java:12)

使用的版本: 日食:霓虹灯版本 爪哇:jdk1.8 火狐:v48 WebDrive jar 文件:v 3.0.0 beta2

指导我解决这个问题。

【问题讨论】:

【参考方案1】:

您使用的是最新版本的Selenium WebDriverSelenium 3.x,此版本的 webdriver 不支持直接启动 firefox。您必须为webdriver.gecko.driver 设置SystemProperty

替换代码:-

WebDriver driver;
driver =new FirefoxDriver();

使用此代码:-

WebDriver driver;
System.setProperty("webdriver.gecko.driver", "<Path to your WebDriver>");
driver =new FirefoxDriver();

您可以获取有关最新更改的信息here

您可以从here下载最新的Gecko驱动

【讨论】:

我正在使用 windows/Eclipse/Selenium --> 添加:System.setProperty("webdriver.gecko.driver", "C:\GeckoDriver\geckodriver.exe"); --> 我在这一行收到一条错误消息:无效的转义序列(有效的是 \b \t \n \f \r \" \' \\ ) 解决了这个问题,如果它可以帮助使用双反斜杠的人:“C:\\GeckoDriver\\geckodriver.exe” 知道如何使用 Seleniumhq jenkins 插件解决这个问题吗? 终于成功了!!!我使用的是 FF 和 selenium 3.0 的 51 版。我不得不从 51 降级到 47 并添加了“client-combined-3.0.1-nodeps.jar”,最后:WebDriver driver;System.setProperty("webdriver.gecko.driver","C:\\kul\\geckod‌​‌​river.exe");drive‌​r = new FirefoxDriver();driver.get("[google.com](http://google.com)");【参考方案2】:

下载 geckoDriver here 的最新版本,然后设置一个名为“webdriver.gecko.driver”的系统属性,并将 geckoDriver 可执行路径的路径放在它上面 System.setProperty("webdriver.gecko.driver", "&lt;path to your gecko driver executable&gt;");

【讨论】:

【参考方案3】:

Firefox 驱动程序基于 marionette,从 Selenium 3.0 开始。与 2.x 版本不同,它需要一个外部可执行文件。您应该将其添加到您的路径中。如需更多信息,您应该查看https://github.com/mozilla/geckodriver。

【讨论】:

这对我有用

以上是关于Firefox 浏览器未使用 selenium webbrowser 代码打开 [重复]的主要内容,如果未能解决你的问题,请参考以下文章

在 Jenkins 服务器中作为 Job 运行 selenium 代码时,Selenium 代码未打开 firefox 浏览器

怎么通过selenium启动firefox时启动httpwatch等插件

浏览器未针对 Intranet 中的 selenium Web 驱动程序启动 [重复]

geckodriver 支持多少火狐47版本

Selenium+firefox使用

9使用selenium + phantomjs 模拟浏览器登录网站