如何在不使用 autoit 且仅使用 selenium 和 java 的情况下上传文件?

这是文件上传不起作用的按钮检查元素

<button class="btn btn-success text-capitalize" id="ac-btn-imprt" type="button">Browse File</button>

因此,当我尝试执行 sendkeys 时,它不起作用,因为对于发送键,它必须是输入标签,在我的情况下它是type=button.

提前致谢。

笔记

  1. 我正在使用 selenium 和 java 来自动化我的应用程序。

  2. 我使用了间歇性工作的机器人类,我无法调试机器人类的实现,因为我还没有研究过它。


尚方宝剑之说
浏览 185回答 2
2回答

婷婷同学_

您可以使用 ROBOT API jars 上传文件。只需触发浏览按钮,当您需要提供要上传的文件的位置时,请使用 Robot API 发送位置,然后再次使用 Robot API 按 Enter。try {&nbsp; &nbsp; &nbsp; &nbsp; //Setting clipboard with file location&nbsp; &nbsp; &nbsp; &nbsp; setClipboardData(fileLocation);&nbsp; &nbsp; &nbsp; &nbsp; //native key strokes for CTRL, V and ENTER keys&nbsp; &nbsp; &nbsp; &nbsp; Robot robot = new Robot();&nbsp; &nbsp; &nbsp; &nbsp; robot.keyPress(KeyEvent.VK_CONTROL);&nbsp; &nbsp; &nbsp; &nbsp; robot.keyPress(KeyEvent.VK_V);&nbsp; &nbsp; &nbsp; &nbsp; robot.keyRelease(KeyEvent.VK_V);&nbsp; &nbsp; &nbsp; &nbsp; robot.keyRelease(KeyEvent.VK_CONTROL);&nbsp; &nbsp; &nbsp; &nbsp; robot.keyPress(KeyEvent.VK_ENTER);&nbsp; &nbsp; &nbsp; &nbsp; robot.keyRelease(KeyEvent.VK_ENTER);&nbsp; &nbsp; } catch (Exception exp) {&nbsp; &nbsp; &nbsp; &nbsp; exp.printStackTrace();&nbsp; &nbsp; }

慕工程0101907

如果您使用 RemoteWebDriver,请将 LocalFileDetector 添加到驱动程序:driver.setFileDetector(new&nbsp;LocalFileDetector());查找隐藏<input type="file">在 HTML 和 sendKeys 文件的绝对路径。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java