我已经使用 Selenium webdriver 中的 Robot 类创建了一个用于文件上传的脚本。它工作正常,脚本按预期执行。现在自动化设置是在服务器上完成的,并且在 jenkins 上安排了一个作业来定期执行它。当远程桌面连接保持打开状态时,脚本执行正常,但当连接最小化/终止时,文件上传失败。 有人可以帮忙吗?为什么当远程连接最小化/终止时,机器人 API 无法找到该元素。
如果您可以提供其他选项来在远程服务器上执行此文件上传,将会很有帮助
以下是 HTML 代码:
<label ng-if="comp.allowmultiple!=1" ng-click="bind_click(comp.code,comp.allowmultiple)" id="singleupload_label" class="browse ng-scope" ng-show="canShow(comp.code, comp.allowmultiple)">Click to Browse
<input name="file_upload" data-code="332" id="singleupload" class="inputStyle fixview filingUpload hidden " type="file">
Robot robot = new Robot();
Thread.sleep(10000);
robot.mouseMove(2,130);
robot.mousePress(InputEvent.BUTTON1_MASK);
robot.mouseRelease(InputEvent.BUTTON1_MASK);
robot.keyPress(KeyEvent.VK_ENTER);
robot.keyRelease(KeyEvent.VK_ENTER);
robot.keyPress(KeyEvent.VK_CONTROL);
robot.keyPress(KeyEvent.VK_V);
robot.keyRelease(KeyEvent.VK_V);
robot.keyRelease(KeyEvent.VK_CONTROL);
Thread.sleep(5000);
robot.keyPress(KeyEvent.VK_ENTER);
robot.keyRelease(KeyEvent.VK_ENTER);
最佳答案
如果输入类型是文件,即
<input type="file" id="upload">
您可以直接使用SendKeys
driver.findElement(By.id("upload")).sendKeys("File Path");
关于java - 使用 selenium 中的机器人类上传文件在远程计算机上工作正常,但在远程连接关闭时失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34898953/