在Chrome无头模式下执行硒测试

时间:2019-01-14 07:34:24

标签: selenium selenium-chromedriver ui-automation headless-browser google-chrome-headless

我正在尝试使用以下代码在Chrome无头模式下运行该应用程序,同时以Google.com的形式提供该应用程序,代码运行良好,而在提供实际的受测URL下的应用程序时,我得到了空白页。 知道如何纠正这个问题吗?

代码:

ChromeOptions options = new ChromeOptions();
Options.addArguments("--headless");
Webdriver driver = new ChromeDriver(options);
driver.get("https://www.google.com");
System.out.println(driver.getTitle());

Chrome版本为66。

2 个答案:

答案 0 :(得分:0)

根据this thread的讨论,只有两个区别。

  1. UA字符串中包含“ headless”,并且浏览器被标识为“ HeadlessChrome”。 使用options.add_argument("user-agent=XXX")覆盖用户代理设置,并查看它是否可以解决问题。
  2. 使用无头时未设置AcceptLanguage标头条目(看起来像个错误) Selenium不允许设置HTTP标头。您可以使用变通办法discussed here

答案 1 :(得分:0)

谢谢您的回答,我能够解决这个问题,因为我正在访问的应用程序出现安全错误,如果任何应用程序在无头chrome中运行,如果出现安全错误,则会打开空白页,这就是我们可以处理的方式。 / p>

代码       ChromeOptions options = new ChromeOptions();       DesiredCapabilities功能=       DesiredCapabilities.chrome();        Capabilities.setAcceptInsecureCerts(true);        Options.merge(capabilities);