Chromedriver"驱动程序不可执行#34;

时间:2014-09-08 09:07:39

标签: java google-chrome selenium selenium-chromedriver

我的项目文件夹中有chromedriver和chromedriver.exe。 我正在使用此代码创建驱动程序实例。

ChromeOptions options = new ChromeOptions();
DesiredCapabilities capabilities = DesiredCapabilities.firefox();
LoggingPreferences log_prefs = new LoggingPreferences();
log_prefs.enable(LogType.BROWSER, Level.SEVERE);
capabilities.setCapability(CapabilityType.LOGGING_PREFS, log_prefs);
System.setProperty("webdriver.chrome.driver", "chromedriver");
driver = new ChromeDriver(capabilities);
driver.manage().window().maximize();

在本地窗口可以正常(如果我们将“chromedriver”更改为“chromedriver.exe”),但是当我在CentOS上运行时,我收到错误消息:“驱动程序不可执行”。

5 个答案:

答案 0 :(得分:20)

使其可执行: 在CentOs中使用chmod +x chromedriver

答案 1 :(得分:1)

  1. 如果用户正在使用Unix,那么首先检查文件夹或chromedriver权限。
  2. 缺少权限,然后使用以下命令。
  3. chmod 777 *
  4. 以上命令更改文件夹权限,问题将解决。

答案 2 :(得分:0)

我遇到了同样的问题,但就我而言,一切正常,但是突然我开始出现此错误,所以这不是我认为的访问问题。

因此,我在下面的代码段中设置了Chrome驱动程序或Firefox驱动程序以供参考。

Utils.setSystemProperty("webdriver.chrome.driver",
                classLoader.getSystemResource("utilityJars" + File.separator + "chromedriver_mac").getPath());

我认为在编译类时路径位于目标文件夹中。 所以

的值
classLoader.getSystemResource("utilityJars" + File.separator + "chromedriver_mac").getPath()

  

/ {user.dir} / target / classes / utilityJars / chromedriver_mac

因此,在该路径上访问chromedriver可能存在问题,可能未编译或不确定,但是我只是删除了目标文件夹并重新执行它即可。

答案 3 :(得分:0)

我也遇到了这个问题。给出的前两个答案对我有用,但是您也可以通过转到文件夹中的文件(壁虎文件)来解决权限问题,右键单击>> Properties,然后从那里更改权限。

答案 4 :(得分:0)

我的驱动程序文件在我的 Eclipse 项目 - 资源文件夹中。有趣的是 - 如果您转到驱动程序并检查 chromedriver exe 文件的属性。它没有执行权限。设置并应用和关闭。我很高兴去。