Selenium(Java)-Chrome无头-无法上载文件

Selenium(Java)-Chrome无头-无法上载文件,java,selenium,file-upload,headless-browser,Java,Selenium,File Upload,Headless Browser,需要在Selenium脚本中以无头模式上载文件逻辑相关的输入。 实现了Robot类来模拟键盘命令,但它只在非无头模式下工作 以下是上载按钮的外观: 单击“上载简历”将显示一个弹出窗口按钮。点击“上传简历”按钮后,在无标题模式下,没有弹出窗口(根据屏幕截图) 上传按钮周围的页面来源: 很抱歉我回答晚了。在搜索了一点之后,我发现真正的文件输入不在上传按钮下。代码如下: WebElement inputResume = webDriver.findElement(By.className("dz-

需要在Selenium脚本中以无头模式上载文件逻辑相关的输入。 实现了Robot类来模拟键盘命令,但它只在非无头模式下工作

以下是上载按钮的外观:

单击“上载简历”将显示一个弹出窗口按钮。点击“上传简历”按钮后,在无标题模式下,没有弹出窗口(根据屏幕截图)

上传按钮周围的页面来源:


很抱歉我回答晚了。在搜索了一点之后,我发现真正的文件输入不在上传按钮下。代码如下:

WebElement inputResume = webDriver.findElement(By.className("dz-hidden-input"));
inputResume.sendKeys("/full/path/to/your/file"); // For example: /home/minhdao/Downloads/resume.pdf

我还创建了一个。如果你想要一个不需要配置就可以执行的完整项目,请随意留下评论。

你是否尝试过
webDriver.findElement(By.id(“resume”)).sendKeys(“你的/path/to/file”)
?是的@MinhDao,我也尝试过这个选项<代码>org.openqa.selenium.TimeoutException:预期条件失败:等待[[ChromeDriver:chrome on XP(DC9BDF786A80D2AFA276EEEDFE3C6D9)]->id:resume]的可见性(以500毫秒的间隔尝试了15秒)您似乎正在使用WebDriverWait检查输入是否可见。但您可能希望在DevTool中检查这一点(FireFox或Chrome中的F12)。我认为你的
上传简历
按钮实际上不是HTML输入,真正的输入是隐藏在视图中的,这就是为什么你得到
TimeoutException
。你能提供你的链接让我看看吗?@MinhDao:点击应用-->新用户-->你会看到上传按钮。我还没有解决它,所以我需要更多的时间来投资。但我发现了这个:。希望这能对你有所帮助。谢谢你的回复。我试着用你提到的带有类名的findby。正在获取元素异常
org.openqa.selenium.StaleElementReferenceException:stale元素引用:元素未附加到页面文档
您可能会在某些事件发生之前找到该元素,这些事件会使元素消失(称为重新呈现DOM)。我上传了一份git回购协议,完整代码:。在
README.md
文件中有一个运行此项目的简单指南。如果有任何问题,请随时在以下位置创建问题: