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 WebDriver
即Selenium 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\\geckodriver.exe");
driver = new FirefoxDriver();
driver.get("[google.com](http://google.com)");
【参考方案2】:
下载 geckoDriver here 的最新版本,然后设置一个名为“webdriver.gecko.driver”的系统属性,并将 geckoDriver 可执行路径的路径放在它上面
System.setProperty("webdriver.gecko.driver", "<path to your gecko driver executable>");
【讨论】:
【参考方案3】:Firefox 驱动程序基于 marionette,从 Selenium 3.0 开始。与 2.x 版本不同,它需要一个外部可执行文件。您应该将其添加到您的路径中。如需更多信息,您应该查看https://github.com/mozilla/geckodriver。
【讨论】:
这对我有用以上是关于Firefox 浏览器未使用 selenium webbrowser 代码打开 [重复]的主要内容,如果未能解决你的问题,请参考以下文章
在 Jenkins 服务器中作为 Job 运行 selenium 代码时,Selenium 代码未打开 firefox 浏览器
怎么通过selenium启动firefox时启动httpwatch等插件