Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/312.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java在linux服务器上执行chromedriver_Java_Linux_Selenium_Selenium Webdriver_Selenium Chromedriver - Fatal编程技术网

Java在linux服务器上执行chromedriver

Java在linux服务器上执行chromedriver,java,linux,selenium,selenium-webdriver,selenium-chromedriver,Java,Linux,Selenium,Selenium Webdriver,Selenium Chromedriver,我正在使用Eclipse、Selenium和chromedriver来促进网站数据的无头检索。虽然我在笔记本电脑上运行得很好,但我已经将WAR版本部署到Java/Linux托管的服务中,并且收到以下错误,表明它找不到chromedriver 类型异常报告 信息: The driver executable does not exist: /drivers/chromedriver 说明: The server encountered an unexpected condition that p

我正在使用Eclipse、Selenium和chromedriver来促进网站数据的无头检索。虽然我在笔记本电脑上运行得很好,但我已经将WAR版本部署到Java/Linux托管的服务中,并且收到以下错误,表明它找不到chromedriver

类型异常报告

信息:

The driver executable does not exist: /drivers/chromedriver
说明:

The server encountered an unexpected condition that prevented it from fulfilling the request.
例外情况:

java.lang.IllegalStateException: The driver executable does not exist: /drivers/chromedriver
    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.chrome.ChromeDriverService.access$000(ChromeDriverService.java:32)
    org.openqa.selenium.chrome.ChromeDriverService$Builder.findDefaultExecutable(ChromeDriverService.java:137)
    org.openqa.selenium.remote.service.DriverService$Builder.build(DriverService.java:329)
    org.openqa.selenium.chrome.ChromeDriverService.createDefaultService(ChromeDriverService.java:88)
    org.openqa.selenium.chrome.ChromeDriver.<init>(ChromeDriver.java:157)
    com.carsales.rego.CarRegoAction.doPost(CarRegoAction.java:57)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:661)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:742)
    org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
是的,我已经将文件夹和chromedriver的权限设置为777(chmod 777),所以应该可以-只是找不到它


请帮助…

尝试在chrome驱动程序中使用以下选项:-

        Options.addArguments("--no-sandbox");
        Options.addArguments("start-maximized");
        Options.addArguments("disable-notifications");
        Options.addArguments("allow-running-insecure-content");
例外情况是“驱动程序可执行文件不存在:/drivers/chromedriver”,因此您应该检查路径是否正确

如果您想对文件进行排序,可以将驱动程序放在Java项目的资源目录中。 “src/test/resources/drivers/chromedriver”

在Linux平台上以无头模式使用chromedriver时,应使用以下选项:

注意:如果您在Linux平台上以无头模式使用chromedriver,则参数禁用gpu是至关重要且必须的。看


谢谢,但执行并没有走那么远——如果还有其他问题,我会记住这些选项,但我尝试过,也期待着同样的结果。我想我的路径是正确的,文件在那里,所以不知道为什么找不到它。你设置了path变量了吗?
        Options.addArguments("--no-sandbox");
        Options.addArguments("start-maximized");
        Options.addArguments("disable-notifications");
        Options.addArguments("allow-running-insecure-content");
System.setProperty("webdriver.chrome.driver", "/drivers/chromedriver");
ChromeOptions options = new ChromeOptions();
options.addArguments("headless");
options.addArguments("--disable-gpu");
options.addArguments("disable-infobars");
options.addArguments("--disable-extensions");
options.addArguments("window-size=1200x600");
options.addArguments("--no-sandbox");
WebDriver webDriver = new ChromeDriver(options);