我正在使用 chromedriver 运行 selenium,一切正常。最近我尝试同时使用 10 个 chromedriver,它占用了所有可用内存,所以我尝试使用 ChromeOptions 中的 headless 选项来解决它。
尝试了这些选项:
options.addArguments("--headless");
options.addArguments("--disable-gpu");
options.addArguments("--window-size=1920,1200");
options.addArguments("--ignore-certificate-errors");
但是当程序使用 --headless 选项运行时它不会工作。(它在没有无头的情况下工作过)
这就是我设置 chromeDriver 的方式:
private ChromeDriver setupChromeDriver(String proxyAddress, String downloadFilePath){
try{
HashMap<String, Object> chromePrefs = new HashMap<>();
chromePrefs.put("profile.default_content_settings.popups", 0);
chromePrefs.put("download.default_directory", downloadFilePath);
ChromeOptions options = new ChromeOptions();
options.setExperimentalOption("prefs", chromePrefs);
options.addArguments("--headless");
options.addArguments("--disable-gpu");
options.addArguments("--window-size=1920,1200");
options.addArguments("--ignore-certificate-errors");
DesiredCapabilities cap = DesiredCapabilities.chrome();
cap.setCapability(CapabilityType.ACCEPT_SSL_CERTS, true);
cap.setCapability(ChromeOptions.CAPABILITY, options);
if(!proxyAddress.equals(""))
cap.setCapability("proxy", setupChromeProxy(proxyAddress));
ChromeDriverService chromeDriverService = new ChromeDriverService.Builder().build();
options.merge(cap);
logger.info("Selenium chrome driver set up with updated download location");
return new ChromeDriver(chromeDriverService, options);
}
例如我如何找到没有无头选项的元素:
driver.findElement(By.xpath("//input[@id='identifierId']")).sendKeys(dumper.getUsername() + Keys.ENTER);
我正在使用 Windows 10,chrome 版本 75.0.3770.142(官方构建)(64 位),ChromeDriver 75.0.3770.140
试图在类似的帖子中找到一些信息,但找不到有效的解决方案。谢谢。
翻翻过去那场雪
相关分类