dsk*_*sky 2 java selenium google-chrome selenium-chromedriver google-chrome-headless
我正在尝试在无头模式下使用 Chrome 获取页面内容,但某些页面仅返回空 HTML。我的设置:
编码:
ChromeOptions options = new ChromeOptions();
options.setHeadless(true);
RemoteWebDriver driver = new ChromeDriver(options);
driver.get("https://www.patagonia.com/home/");
System.out.println("Title: " + driver.getTitle()); // prints out "Title: "
Run Code Online (Sandbox Code Playgroud)
当我不使用无头模式时,它可以工作。
如果我在无头模式下使用 Firefox,它也可以工作。
是否有我可能缺少的设置,或者为什么在无头模式下不起作用?
感谢您的帮助。
当通过用户代理运行 Chrome Headless 时,该网页显然会检测到(这与运行 Headless 时不同,实际上将包含HeadlessChrome)。简单的解决方案:在您的ChromeOptions,例如
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/71.0.3578.98 Safari/537.36
Run Code Online (Sandbox Code Playgroud)
以下是通过 指定它的方法ChromeOptions:
ChromeOptions options = new ChromeOptions()
.addArguments("--user-agent=Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/71.0.3578.98 Safari/537.36")
.setHeadless(true);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2253 次 |
| 最近记录: |