首页 > 解决方案 > Selenium:无法在无头模式下访问 chrome 内部页面

问题描述

所有 chrome 内部页面(例如chrome://downloads)在无头模式下显示为空白并在正常模式下工作。

重现代码(Java)

webdriver.get("chrome://downloads/");
System.out.println(webdriver.getPageSource());

输出

<html><head></head><body></body></html>

输出没有无头参数(没有其他改变)

chrome://downloads页面已成功打开
,可以获取 1533 行作为源

细节

Selenium Java: 3.141.59
ChromedriverVersion: 83.0.4103.39
使用远程 Web 驱动程序
操作系统: MacOS 10.15.4

铬选项

options.addArguments("headless");
options.addArguments("disable-notifications");
options.addArguments("disable-application-cache");
options.addArguments("disable-features=IsolateOrigins,site-per-process");   //for network calls of iframes
options.addArguments("no-sandbox");                                         //for running in docker without chrome user
options.addArguments("disable-dev-shm-usage");                              //write shared memory files into /tmp instead of /dev/shm
options.addArguments("user-agent="+"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_2) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/79.0.3945.117 Safari/537.36");

options.setExperimentalOption("w3c", false);
options.setExperimentalOption("excludeSwitches", new String[]{"enable-automation"});

打开下载页面对我来说很重要,我不想在下载文件夹或任何东西中使用文件阅读器。

标签: selenium-webdriverselenium-chromedrivergoogle-chrome-headlessheadless-browserremotewebdriver

解决方案


推荐阅读