WebDriverException:未知错误:DevToolsActivePort文件不存在';t存在构建信息:版本:';未知';在Linux服务器上使用ChromeDriver Selenium

WebDriverException:未知错误:DevToolsActivePort文件不存在';t存在构建信息:版本:';未知';在Linux服务器上使用ChromeDriver Selenium,selenium,google-chrome,selenium-webdriver,selenium-chromedriver,google-chrome-headless,Selenium,Google Chrome,Selenium Webdriver,Selenium Chromedriver,Google Chrome Headless,我正在尝试在oracle linux server 7.6版中运行我的套件 当我尝试使用chrome和headless chrom运行时,服务器上也安装了chrome 76,每次都会出现以下错误 甚至我也尝试过从Chrome246驱动程序到Chrome79驱动程序的点击和试用,但没有运气 org.openqa.selenium.WebDriverException: unknown error: DevToolsActivePort file doesn't exist Build info:

我正在尝试在oracle linux server 7.6版中运行我的套件 当我尝试使用chrome和headless chrom运行时,服务器上也安装了chrome 76,每次都会出现以下错误

甚至我也尝试过从Chrome246驱动程序到Chrome79驱动程序的点击和试用,但没有运气

org.openqa.selenium.WebDriverException: unknown error: DevToolsActivePort file doesn't exist
Build info: version: 'unknown', revision: 'unknown', time: 'unknown'
System info: host: 'arusprint02', ip: '100.104.104.102', os.name: 'Linux', os.arch: 'amd64', os.version: '4.14.35-1902.3.1.el7uek.x86_64', java.version: '1.8.0_222'
Driver info: driver.version: ChromeDriver
remote stacktrace: #0 0x55c9ab4f1129 <unknown>
    at org.openqa.selenium.remote.W3CHandshakeResponse.lambda$new$0(W3CHandshakeResponse.java:57)
    at org.openqa.selenium.remote.W3CHandshakeResponse.lambda$getResponseFunction$2(W3CHandshakeResponse.java:104)
    at org.openqa.selenium.remote.ProtocolHandshake.lambda$createSession$0(ProtocolHandshake.java:122)
    at java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:193)
    at java.util.Spliterators$ArraySpliterator.tryAdvance(Spliterators.java:958)
    at java.util.stream.ReferencePipeline.forEachWithCancel(ReferencePipeline.java:126)
    at java.util.stream.AbstractPipeline.copyIntoWithCancel(AbstractPipeline.java:499)
    at java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:486)
    at java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:472)
    at java.util.stream.FindOps$FindOp.evaluateSequential(FindOps.java:152)
    at java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)
    at java.util.stream.ReferencePipeline.findFirst(ReferencePipeline.java:531)
    at org.openqa.selenium.remote.ProtocolHandshake.createSession(ProtocolHandshake.java:125)
    at org.openqa.selenium.remote.ProtocolHandshake.createSession(ProtocolHandshake.java:73)
    at org.openqa.selenium.remote.HttpCommandExecutor.execute(HttpCommandExecutor.java:136)
    at org.openqa.selenium.remote.service.DriverCommandExecutor.execute(DriverCommandExecutor.java:83)
    at org.openqa.selenium.remote.RemoteWebDriver.execute(RemoteWebDriver.java:548)
    at org.openqa.selenium.remote.RemoteWebDriver.startSession(RemoteWebDriver.java:212)
    at org.openqa.selenium.remote.RemoteWebDriver.<init>(RemoteWebDriver.java:130)
    at org.openqa.selenium.chrome.ChromeDriver.<init>(ChromeDriver.java:181)
    at org.openqa.selenium.chrome.ChromeDriver.<init>(ChromeDriver.java:168)
    at org.openqa.selenium.chrome.ChromeDriver.<init>(ChromeDriver.java:157)
    at utils.Intelligence_Browser.SetconfigurationBrowser(Intelligence_Browser.java:142)
    at utils.RunnerArf.main(RunnerArf.java:80)
    at org.eclipse.jdt.internal.jarinjarloader.JarRsrcLoader.main(JarRsrcLoader.java:61)
..
org.openqa.selenium.WebDriverException:未知错误:DevToolsActivePort文件不存在
生成信息:版本:“未知”,版本:“未知”,时间:“未知”
系统信息:主机:'arusprint02',ip:'100.104.104.102',os.name:'Linux',os.arch:'amd64',os.version:'4.14.35-1902.3.1.el7uek.x86_64',java.version:'1.8.0_222'
驱动程序信息:Driver.version:ChromeDriver
远程堆栈跟踪:#0 0x55c9ab4f1129
位于org.openqa.selenium.remote.W3CHandshakeResponse.lambda$new$0(W3CHandshakeResponse.java:57)
位于org.openqa.selenium.remote.W3CHandshakeResponse.lambda$getResponseFunction$2(W3CHandshakeResponse.java:104)
位于org.openqa.selenium.remote.ProtocolHandshake.lambda$createSession$0(ProtocolHandshake.java:122)
位于java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:193)
位于java.util.Spliterators$ArraySpliterator.tryAdvance(Spliterators.java:958)
位于java.util.stream.ReferencePipeline.forEachWithCancel(ReferencePipeline.java:126)
位于java.util.stream.AbstractPipeline.copyIntoWithCancel(AbstractPipeline.java:499)
位于java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:486)
位于java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:472)
位于java.util.stream.FindOps$FindOp.evaluateSequential(FindOps.java:152)
位于java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)
位于java.util.stream.ReferencePipeline.findFirst(ReferencePipeline.java:531)
位于org.openqa.selenium.remote.ProtocolHandshake.createSession(ProtocolHandshake.java:125)
位于org.openqa.selenium.remote.ProtocolHandshake.createSession(ProtocolHandshake.java:73)
位于org.openqa.selenium.remote.HttpCommandExecutor.execute(HttpCommandExecutor.java:136)
位于org.openqa.selenium.remote.service.DriverCommandExecutor.execute(DriverCommandExecutor.java:83)
位于org.openqa.selenium.remote.RemoteWebDriver.execute(RemoteWebDriver.java:548)
位于org.openqa.selenium.remote.RemoteWebDriver.startSession(RemoteWebDriver.java:212)
位于org.openqa.selenium.remote.RemoteWebDriver。(RemoteWebDriver.java:130)
位于org.openqa.selenium.chrome.ChromeDriver(ChromeDriver.java:181)
位于org.openqa.selenium.chrome.ChromeDriver(ChromeDriver.java:168)
位于org.openqa.selenium.chrome.ChromeDriver(ChromeDriver.java:157)
位于utils.Intelligence\u Browser.SetconfigurationBrowser(Intelligence\u Browser.java:142)
位于utils.RunnerArf.main(RunnerArf.java:80)
位于org.eclipse.jdt.internal.jarinjarloader.JarRsrcLoader.main(JarRsrcLoader.java:61)
..
我在这里使用的代码:

} else if (Browser.equalsIgnoreCase("chrome")) {
            System.out.println("Chrome is Starting");
            String chromedriverPath = PropertyfileConfig.getStringValueFromProperty("chromedriverpath");

            System.setProperty("webdriver.chrome.driver", chromedriverPath);

            DesiredCapabilities capabilities = DesiredCapabilities.chrome();
            ChromeOptions options = new ChromeOptions();
            options.addArguments("test-type");
            options.addArguments("--no-sandbox");
            options.addArguments("--disable-dev-shm-usage");
            capabilities.setCapability("chrome.binary", "<Path to binary>");
            capabilities.setCapability(ChromeOptions.CAPABILITY, options);
            driver = new ChromeDriver();
            driver.manage().window().maximize();
            driver.manage().timeouts().implicitlyWait(20, TimeUnit.SECONDS);
            //driver.manage().timeouts().pageLoadTimeout(40, TimeUnit.SECONDS);

            System.out.println("Chrome driver selected");
            driver.get(Url);

        } else if (Browser.equalsIgnoreCase("headless")) {

            String chromedriverPath = PropertyfileConfig.getStringValueFromProperty("chromedriverpath");
            System.setProperty("webdriver.chrome.driver", chromedriverPath);

            ChromeOptions options = new ChromeOptions();
            options.addArguments("--no-sandbox");
            options.addArguments("--disable-dev-shm-usage");
            options.addArguments("--disable-gpu");
            options.addArguments("--disable-extensions");
            options.setExperimentalOption("useAutomationExtension", false);
            options.addArguments("--proxy-server='direct://'");
            options.addArguments("--proxy-bypass-list=*");
            options.addArguments("--start-maximized");
            options.addArguments("--headless");

            driver = new ChromeDriver(options);
            driver.manage().window().maximize();
            driver.manage().timeouts().implicitlyWait(20, TimeUnit.SECONDS);

            driver.get(Url);
}else if(Browser.equalsIgnoreCase(“chrome”)){
System.out.println(“Chrome正在启动”);
字符串chromedriverPath=PropertyfileConfig.getStringValueFromProperty(“chromedriverPath”);
System.setProperty(“webdriver.chrome.driver”,chromedriverPath);
DesiredCapabilities=DesiredCapabilities.chrome();
ChromeOptions选项=新的ChromeOptions();
options.addArguments(“测试类型”);
options.addArguments(“--no sandbox”);
options.addArguments(“--disable dev shm usage”);
setCapability(“chrome.binary”和“”);
能力。设置能力(ChromeOptions.CAPABILITY,选项);
驱动程序=新的ChromeDriver();
driver.manage().window().maximize();
driver.manage().timeouts().implicitlyWait(20,TimeUnit.SECONDS);
//driver.manage().timeout().pageLoadTimeout(40,TimeUnit.SECONDS);
System.out.println(“选择了Chrome驱动程序”);
获取(Url);
}else if(Browser.equalsIgnoreCase(“headless”)){
字符串chromedriverPath=PropertyfileConfig.getStringValueFromProperty(“chromedriverPath”);
System.setProperty(“webdriver.chrome.driver”,chromedriverPath);
ChromeOptions选项=新的ChromeOptions();
options.addArguments(“--no sandbox”);
options.addArguments(“--disable dev shm usage”);
options.addArguments(“--disable gpu”);
options.addArguments(“--disable extensions”);
options.setExperimentalOption(“useAutomationExtension”,false);
options.addArguments(“--proxy server='direct://'”);
options.addArguments(“--proxy pass list=*”);
options.addArguments(“--start maximized”);
选项。添加参数(“--headless”);
驱动程序=新的色度驱动程序(可选);
driver.manage().window().maximize();
driver.manage().timeouts().implicitlyWait(20,TimeUnit.SECONDS);
获取(Url);
此错误消息

org.openqa.selenium.WebDriverException: unknown error: DevToolsActivePort file doesn't exist
Build info: version: 'unknown', revision: 'unknown', time: 'unknown'
System info: host: 'arusprint02', ip: '100.104.104.102', os.name: 'Linux', os.arch: 'amd64', os.version: '4.14.35-1902.3.1.el7uek.x86_64', java.version: '1.8.0_222'
Driver info: driver.version: ChromeDriver
…意味着ChromeDriver无法与Selenium语言绑定进行通信

您的主要问题是所使用的二进制文件版本之间的不兼容,如下所示:

  • 错误跟踪日志中不清楚您的chromedriver版本
  • 您的chrome=75.0版本未从错误跟踪日志中清除
  • 无法识别您的Selenium客户端版本
因此,Selenium客户端、ChromeDriver和Chrome浏览器之间存在明显的不匹配


解决方案 确保:

  • 硒被提升到当前水平
  • ChromeDriver已更新到当前级别
  • Chrome更新至当前Chrome版本79.0级别。(根据)
  • 清理你的项目