我的项目文件夹中有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上运行时,我收到错误消息:“驱动程序不可执行”。
答案 0 :(得分:20)
使其可执行:
在CentOs中使用chmod +x chromedriver
答案 1 :(得分:1)
chmod 777 *
答案 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 文件的属性。它没有执行权限。设置并应用和关闭。我很高兴去。