【问题标题】:The driver executable does not exist: C:\geckodriver.exe issue in Eclipse IDE驱动程序可执行文件不存在:Eclipse IDE 中的 C:\geckodriver.exe 问题
【发布时间】:2018-05-19 07:35:27
【问题描述】:

请帮助我解决每次运行代码时都会重复出现的问题。 我已经在 C 驱动器中提取了 Geckodriver 文件,但是当我运行我的代码时,出现的错误是“线程“主”java.lang.IllegalStateException 中的异常:驱动程序可执行文件不存在:C:\geckodriver.exe'。

我的代码如下:

 package Basics;

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

public class Browserinvocation {
public static void main(String[] args) {
    // TODO Auto-generated method stub

System.setProperty("webdriver.gecko.driver","C:\\geckodriver.exe");

WebDriver driver = new FirefoxDriver();//FirefoxDriver class is used to implement methods present in Webdriver-Invocation of browser
driver.get("https://www.amazon.in/");// Get method to hit the url in browser 

}

}

控制台错误:

线程“main”中的异常 java.lang.IllegalStateException:驱动程序 可执行文件不存在:C:\geckodriver.exe 位于 com.google.common.base.Preconditions.checkState(Preconditions.java:534) 在 org.openqa.selenium.remote.service.DriverService.checkExecutable(DriverService.java:136) 在 org.openqa.selenium.remote.service.DriverService.findExecutable(DriverService.java:131) 在 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) 在 Basics.Browserinvocation.main(Browserinvocation.java:13)

【问题讨论】:

  • 哪个操作系统是你的?还提到 jars 和 geckodriver 版本

标签: eclipse firefox selenium-webdriver geckodriver


【解决方案1】:

只要 Precondition 由于以下任何原因找不到 System.setProperty() 方法中提到的相关驱动程序的路径,就会发生上述异常:

  1. 如果提到的路径有不同/错误/单斜杠。
  2. 驱动程序文件本身不在上述位置。
  3. 如果在属性文件或配置文件中使用双引号提及路径。

在执行前检查一次。

【讨论】:

    【解决方案2】:

    只需下载 geckodriver.exe 并将其移动到 C 盘:

    【讨论】:

      【解决方案3】:
      System.setProperty("webdriver.gecko.driver","C:\\geckodriver.exe");
      

      这里删除 .在壁虎和司机之间

      【讨论】:

        【解决方案4】:

        您的代码在我身边运行,可能是您没有提取壁虎驱动程序。

        换个路径试试,应该可以的

        请告诉我 selenium jars 版本和你的 firefox 浏览器版本

        System.setProperty("webdriver.gecko.driver", "C:/Users/sankalp.gupta/Desktop/JAVASEL/geckodriver.exe");
        WebDriver driver=new FirefoxDriver();
        driver.get("https://www.amazon.in");
        System.out.println(driver.getCurrentUrl());
        driver.close();
        

        【讨论】:

        • 我改变了壁虎驱动的路径,我的代码现在可以工作了。感谢您的回复。
        【解决方案5】:

        您应该使用/ 而不是\\ 添加到geckodriver.exe 的路径。换行

        System.setProperty("webdriver.gecko.driver","C:\\geckodriver.exe");
        

        到下面

        System.setProperty("webdriver.gecko.driver","C:/geckodriver.exe");
        

        【讨论】:

        • 为您的答案添加一些描述会很好。您应该首先指出当前代码中的错误,然后提出解决方案。
        • 我仍然收到错误 - '线程“main” java.lang.IllegalStateException 中的异常:驱动程序可执行文件不存在:C:\geckodriver.exe'。我在 Eclipse 中运行我的自动化代码,不知何故,即使在更改了正斜杠的路径('System.setProperty("webdriver.gecko.driver","C:/geckodriver.exe" );'
        猜你喜欢
        • 1970-01-01
        • 2018-06-09
        • 1970-01-01
        • 1970-01-01
        • 2017-04-08
        • 2020-12-10
        • 1970-01-01
        • 2014-06-08
        • 1970-01-01
        相关资源
        最近更新 更多