我在Selenium webdriver中使用Robot Class创建了一个文件上传脚本。它工作正常,脚本按预期执行。现在,自动化设置在服务器上完成,并且在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);
答案 0 :(得分:0)
如果输入类型是文件,即
<input type="file" id="upload">
您可以直接使用SendKeys
driver.findElement(By.id("upload")).sendKeys("File Path");