为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

尚方宝剑之说 2021-09-03 21:26:06
这是文件上传不起作用的按钮检查元素<button class="btn btn-success text-capitalize" id="ac-btn-imprt" type="button">Browse File</button>因此,当我尝试执行 sendkeys 时,它不起作用,因为对于发送键,它必须是输入标签,在我的情况下它是type=button.提前致谢。笔记我正在使用 selenium 和 java 来自动化我的应用程序。我使用了间歇性工作的机器人类,我无法调试机器人类的实现,因为我还没有研究过它。
查看完整描述

2 回答

?
婷婷同学_

TA贡献1844条经验 获得超8个赞

您可以使用 ROBOT API jars 上传文件。只需触发浏览按钮,当您需要提供要上传的文件的位置时,请使用 Robot API 发送位置,然后再次使用 Robot API 按 Enter。


try {

        //Setting clipboard with file location

        setClipboardData(fileLocation);

        //native key strokes for CTRL, V and ENTER keys

        Robot robot = new Robot();


        robot.keyPress(KeyEvent.VK_CONTROL);

        robot.keyPress(KeyEvent.VK_V);

        robot.keyRelease(KeyEvent.VK_V);

        robot.keyRelease(KeyEvent.VK_CONTROL);

        robot.keyPress(KeyEvent.VK_ENTER);

        robot.keyRelease(KeyEvent.VK_ENTER);

    } catch (Exception exp) {

        exp.printStackTrace();

    }


查看完整回答
反对 回复 2021-09-03
?
慕工程0101907

TA贡献1887条经验 获得超5个赞

如果您使用 RemoteWebDriver,请将 LocalFileDetector 添加到驱动程序:

driver.setFileDetector(new LocalFileDetector());

查找隐藏<input type="file">在 HTML 和 sendKeys 文件的绝对路径。


查看完整回答
反对 回复 2021-09-03
  • 2 回答
  • 0 关注
  • 184 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信