【问题标题】:Selenium Webdriver Headless Mode shows blank pageSelenium Webdriver Headless Mode 显示空白页
【发布时间】:2020-12-25 19:46:59
【问题描述】:

过去 2 小时我一直在试图找出为什么无头模式会搞砸我的程序。 当我禁用无头模式时,一切正常,我可以毫无问题地运行程序,但是当启用 (--headless) 时,我的 webdriver 找不到任何元素,因为页面只是空白。

非常感谢一些帮助,我猜网站正在检测无头模式并因此显示空白页面?有什么办法可以绕过吗?

这是我通过浏览器的参数列表:

options.AddArguments("--headless");
options.AddArguments("disable-blink-features=AutomationControlled");
options.AddArguments("log-level=3");
options.AddArguments("--windows-Size=1920,1080");
options.AddArguments("--disable-gpu");
options.AddArguments("--disable-extensions");
options.AddArguments("--start-maximized");
options.AddArguments("--user-agent=Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/73.0.3683.86 Safari/537.36");

你们遇到过吗?我发现了一些之前已经描述过该问题的线程,但我找不到任何解决方案..

谢谢:)

【问题讨论】:

  • 又过了一天,想不通,真郁闷..

标签: google-chrome automation webdriver headless


【解决方案1】:

我遇到了同样的问题并通过以下解决方案解决了它

  1. 先获取浏览器的userAgent:

String userAgent = (String) ((JavascriptExecutor) driver).executeScript("return navigator.userAgent;");

System.setProperty("useragent",userAgent);

  1. 如下添加到浏览器选项

options.addArguments("--user-agent="+System.getProperty("useragent"));

【讨论】:

    猜你喜欢
    • 2020-06-24
    • 1970-01-01
    • 2018-01-13
    • 2019-05-08
    • 2015-12-06
    • 1970-01-01
    • 2014-07-19
    • 2015-06-06
    • 2020-07-03
    相关资源
    最近更新 更多