壁虎司机问题

时间:2018-01-10 15:09:04

标签: selenium-webdriver

无法使用geckodriver 3.8.1和selenium oxygen和firefox 57.0.4(32位)版本打开浏览器

package Selenium_JavaFundamentals;

import org.openqa.selenium.WebDriver;
import org.openqa.selenium.firefox.FirefoxDriver;

public class opengmail {

    public static void main(String[] args) {
        // TODO Auto-generated method stub
        WebDriver driver = new FirefoxDriver();

        driver.get("https://www.google.com");
    }
}

我收到以下错误:

  

线程中的异常" 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:754)       在org.openqa.selenium.remote.service.DriverService.findExecutable(DriverService.java:124)       在org.openqa.selenium.firefox.GeckoDriverService.access $ 100(GeckoDriverService.java:41)       在org.openqa.selenium.firefox.GeckoDriverService $ Builder.findDefaultExecutable(GeckoDriverService.java:141)       在org.openqa.selenium.remote.service.DriverService $ Builder.build(DriverService.java:339)       在org.openqa.selenium.firefox.FirefoxDriver.toExecutor(FirefoxDriver.java:158)       在org.openqa.selenium.firefox.FirefoxDriver。(FirefoxDriver.java:120)       在org.openqa.selenium.firefox.FirefoxDriver。(FirefoxDriver.java:98)       在Selenium_JavaFundamentals.opengmail.main(opengmail.java:10)

请注意我已经加载了壁虎驱动程序。

4 个答案:

答案 0 :(得分:0)

您需要明确告诉它WebDriver的位置。 像这样:

package Selenium_JavaFundamentals;

import org.openqa.selenium.WebDriver;
import org.openqa.selenium.firefox.FirefoxDriver;



    public class opengmail {

        public static void main(String[] args) {
            // TODO Auto-generated method stub
            WebDriver driver = new FirefoxDriver();
            System.setProperty("webdriver.gecko.driver", "/path/to/geckoDriver.exe");"
            driver.get("https://www.google.com");
        }    
}

答案 1 :(得分:0)

从某些研究中,我发现了

  

WebDriver使用本机浏览器方法。 Selenium提供内置驱动程序   适用于Firefox但不适用于其他浏览器。所有驱动程序(Chrome驱动程序,IE   驱动程序等)是基于每个使用的特殊JS引擎构建的   浏览器。

所以我想

System.setProperty("webdriver.gecko.driver","/path/to/geckoDriver.exe");"
毕竟,Firefox不需要

这里的问题似乎是在您的计算机上安装了Firefox。完全清理当前安装并重新安装兼容的Firefox。 (可选 - 您也可以将Firefox.exe路径放在PATH中的环境变量中。)

答案 2 :(得分:0)

对于这个问题,我只是降级了我的firefox浏览器版本-43这个问题在降级浏览器后得到了解决

答案 3 :(得分:0)

在初始化FirefoxDriver之前先设置geckodriver.exe的位置。

  

对于使用Firefox的Selenium 3.x

"\""