未知错误:Chrome无法启动:崩溃(硒,无头模式)

时间:2017-11-19 04:27:46

标签: java linux google-chrome selenium-webdriver

我在执行中有这个代码和一个问题(代码下的描述)

   try {
        ChromeOptions options = new ChromeOptions();
        options.setBinary("/usr/bin/chromium-browser");
        options.addArguments("--start-maximized");
        options.addArguments("headless");
        DesiredCapabilities capabilities = DesiredCapabilities.chrome();

        capabilities.setBrowserName("chrome");
        capabilities.setPlatform(Platform.LINUX);

        capabilities.setCapability(ChromeOptions.CAPABILITY, options);
        WebDriver driver = null;

        // here throws exception
        driver = new RemoteWebDriver(new URL("http://127.0.0.1:4444/wd/hub"), capabilities);
    }catch (Exception ex){
        int point = 0;
    }

我用:

  1. Ubuntu 14.04.5 LTS
  2. 硒 - 服务器 - 独立-3.7.1
  3. 依赖org.seleniumhq.selenium:selenium-java:3.7.1
  4. ChromeDriver(适用于Linux 64)
  5. 铬(而不仅仅是铬)
  6. xvfb的
  7. 当我创建RemoteWebDriver时,我收到此错误: 例外:未知错误:Chrome无法启动:崩溃

    启动selenium-server的命令

    DISPLAY=:1 xvfb-run java  -Dwebdriver.chrome.driver="/home/builds/chromedriver" -jar /home/builds/selenium-server-standalone-3.7.1.jar
    

    该方案的哪些部分可能是所述错误的原因?

1 个答案:

答案 0 :(得分:0)

首先,您输入的所有参数都是无头的。

--headless而非headless

使用以下代码

options.addArguments("--headless");

你需要传递System.setProperty的另一件事如下:

 System.setProperty("webdriver.chrome.driver","E:\\Selenium\\src\\libs\\chromedriver.exe");

从我这边工作的代码是:

         try {
             System.setProperty("webdriver.chrome.driver","E:\\Selenium\\Workplace\\Selenium\\src\\libs\\chromedriver.exe");
                ChromeOptions options = new ChromeOptions();
            //    options.setBinary("/usr/bin/chromium-browser");
                options.addArguments("--start-maximized");
                options.addArguments("--headless");
                DesiredCapabilities capabilities = DesiredCapabilities.chrome();

                capabilities.setBrowserName("chrome");
                capabilities.setPlatform(Platform.WINDOWS);

                capabilities.setCapability(ChromeOptions.CAPABILITY, options);
                WebDriver driver =  new ChromeDriver(capabilities);
                driver.get("http://google.com");


            }catch (Exception ex){
                int point = 0;
            }

    }