如何使用JavaScript将路径注入type =“file”字段

时间:2013-04-01 09:44:29

标签: java javascript webdriver

我在将文件路径发送到type =“file”字段(文件上传方案)时遇到问题,该字段处理有点奇怪。

我正在使用带有Java的webDriver,并且不希望使用第三方工具,例如autoIT。

请注意,尝试element.sendKeys不起作用,因为默认情况下此字段会打开一个操作系统浏览到文件类型窗口,该窗口无法由webDriver处理。

您可以在下面看到它的样子:

<input type="file" size="40" name="filename">

这不会进一步扩展并代表字段+浏览按钮!

我发现这个可以用于上述场景(没有sendKeys和autoIT)的唯一解决方案是通过JavaScript注入,但我不知道如何做到这一点。

谢谢,

维维

1 个答案:

答案 0 :(得分:0)

感谢所有评论人员!

解决方案,确实是sendKeys,但只是在使用firepath生成人类历史上最迟钝的xpath之后。

要小心,我以前的尝试不起作用"//input..."之前使用的xpath,虽然有效,但是将键发送到Browse按钮,xpath-wise与场是相同的元素(什么是巫术是这个?)。

所以是的,对于每个通过webDriver也存在文件上传表单问题的人来说 - 获得一个延迟的xpath和element.sendKeys。

干杯!