首页 > 解决方案 > 无法在无头 Chrome 中上传文件

问题描述

我将 WebDriver 3.12.0 和 ChromeDriver 2.40 与 Chrome 67 一起使用。我初始化驱动程序变量如下:

driver = new ChromeDriver(new ChromeOptions().setExperimentalOption("prefs", prefs).addArguments("--start-maximized").setHeadless(true));

TimeoutException当我在无头模式下执行它时,我得到了这条线。当我在正常模式下执行它时它工作正常。

wait.until(ExpectedConditions.presenceOfElementLocated(mainPage.labelForInputFileField));

错误信息:

org.openqa.selenium.TimeoutException:预期条件失败:等待存在的元素位于:By.xpath://*[@id="formUpload"]/p[1]/label(尝试了 30 秒)以 500 毫秒间隔)

在 org.openqa.selenium.support.ui.WebDriverWait.timeoutException(WebDriverWait.java:80) 在 org.openqa.selenium.support.ui.FluentWait.until(FluentWait.java:265) 引起:org.openqa.selenium .NoSuchElementException:没有这样的元素:无法找到元素:{"method":"xpath","selector":"//*[@id="formUpload"]/p[1]/label"}

标签: seleniumselenium-webdriverselenium-chromedrivergoogle-chrome-headless

解决方案


尝试添加以下 Chrome 选项:

options.addArguments("--proxy-server='direct://'");
options.addArguments("--proxy-bypass-list=*");

它使无头执行更快。

从这个问题


推荐阅读