当我尝试使用Selenium启动chrome浏览器时,“驱动程序不可执行”

时间:2019-05-03 11:54:54

标签: selenium-webdriver selenium-chromedriver illegalstateexception

我收到此错误。

  

线程“ main”中的异常java.lang.IllegalStateException:驱动程序   无法执行:/ home / hashconnect / Desktop / Priya   bugsheet / selenium / chromedriver.exe

在该项目中创建一个新文件夹“ Drivers”,并将位置更改为“。\ drivers \ chromedriver.exe”

这是我的代码:

package demo;

import org.openqa.selenium.WebDriver;
import org.openqa.selenium.chrome.ChromeDriver;

public class test {

    public static void main(String[] args) throws InterruptedException {
        // TODO Auto-generated method stub
        System.setProperty("webdriver.chrome.driver","/home/hashconnect/Desktop/Priya bugsheet/selenium/chromedriver.exe");
        WebDriver driver = new ChromeDriver();
        driver.manage().window().maximize();
        Thread.sleep(5000);
    }

}

预期:系统应启动Chrome浏览器

实际: 它显示错误消息:

  

线程“ main”中的异常java.lang.IllegalStateException:驱动程序   无法执行:/ home / hashconnect / Desktop / Priya   bugsheet / selenium / chromedriver.exe

4 个答案:

答案 0 :(得分:0)

转到任务管理器,按结束任务关闭chrome浏览器的所有实例,它应该可以工作。

答案 1 :(得分:0)

一个原因可能是驱动程序可执行文件的路径中有空格。建议将驱动程序移至其他路径,然后在代码中更新该路径,然后重试。

尝试做一个 “ ls -ltr / home / hashconnect / Desktop / Priya bugsheet / selenium / chromedriver.exe”

或者可能已经有多个ChromeDriver实例正在运行,并且它们阻止了更多实例的产生。因此,建议是从Windows上的TaskManager或Linux上的kill -9杀死所有这些实例。

答案 2 :(得分:0)

问题是您给出的路径。

尝试给出完整路径

示例: C:/用户//桌面/...../ chromedriver.exe

这将解决您的问题。

试运行: java.lang.IllegalStateException:驱动程序可执行文件不存在:C:\ main \ resources \ chromedriver.exe

如果给出无效路径(非相对路径),则会发生上述错误

有效: C:\ Users \ SA \ test \ src \ resources \ chromedriver.exe

驱动程序不可执行:如果chromedriver.exe没有执行权限,则可能会发生此问题

答案 3 :(得分:0)

我不确定硒在Ubuntu上如何工作。尽管如此,您下载的设置似乎仍适用于Windows版本(.exe)。它在Linux上不起作用。

请从下面的链接下载适用于Linux的chrome驱动程序

Download Chrome Driver for Linux

参考: Reference link