无法从硒中打开Chrome无头



我在这里使用maven。在这里是我的硒代码:

DesiredCapabilities capb = DesiredCapabilities.chrome();
    capb.setCapability("chrome.binary","/Applications/Google Chrome.app/Contents/MacOS/Google Chrome");
    ChromeOptions options = new ChromeOptions();
    options.addArguments("--headless","--disable-gpu", "--no-sandbox","--remote-debugging-port=9222");
    capb.setCapability(ChromeOptions.CAPABILITY, options);
    System.setProperty("webdriver.chrome.driver","/Users/nitinkumar/TEST/chromedriver");
    try{
    ChromeDriver driver = new ChromeDriver(capb);
    driver.manage().timeouts().implicitlyWait(5, TimeUnit.SECONDS);
    driver.get("https://qa.cmnetwork.co");
    driver.quit();
    }
    catch(Exception e)
    {
        e.printStackTrace();
    }

当我运行" MVN测试"时,它以GUI模式启动了Chrome。但是它应该以无头模式打开。我有 Chrome Vesrion 59.0 OS X Yosemite(10.10.5( Chromedriver 2.30 and strong> and selenium 3.4.0

它不会在GUI模式下打开。仅将打开Chrome Launcher图标。这是一种预期的行为。

您必须删除参数--remote-debugging-port。这将阻止发射的无头铬。因此,脚本将永远不会前进。您将获得chrome not reachable错误

所以更改

的参数
options.addArguments("--headless","--disable-gpu", "--no-sandbox");

另外,--no-sandbox不需要。根据官方文档,仅--headless--disable-gpu标志就足够

除非您安装了多个版本的Chrome,否则也无需DesiredCapabilities

因此,无头染色的简单代码

    ChromeOptions options = new ChromeOptions();
    options.addArguments("--headless","--disable-gpu");
    System.setProperty("webdriver.chrome.driver","/Users/nitinkumar/TEST/chromedriver");
    ChromeDriver driver = new ChromeDriver(options);
    driver.manage().timeouts().implicitlyWait(5, TimeUnit.SECONDS);
    driver.get("https://qa.cmnetwork.co");
    driver.quit();

相关内容

  • 没有找到相关文章

最新更新