与Selenium一起使用时,使用Robot类的java ALT+S按键不起作用
我正在使用Selenium Webdriver自动化一个场景。当我在IE中使用selenium java脚本点击按钮时,它会下载一个excel文件(如图像弹出窗口所示)。 但是,我需要单击该栏中的“保存”选项,以便在默认位置下载。 由于selenium不支持单击文件下载浏览器弹出窗口,所以我尝试使用robot类功能
我使用的代码是:
driver.findElement(By.xpath("//*[@id='btnGenerateExtract']/span/span")).click();
//some wait of 4 seconds
clickOnSave();
clickOnSave()的代码:
{
Robot robot=new Robot();
robot.setAutoDelay(250);
robot.keyPress(KeyEvent.VK_ALT);
Thread.sleep(1000);
robot.keyPress(KeyEvent.VK_S);
robot.keyRelease(KeyEvent.VK_ALT);
robot.keyRelease(KeyEvent.VK_S);
}
但是,这不起作用,因为它无法单击“保存”选项。 请建议
# 1 楼答案
这个问题通过脚本中的一个小改动得到了解决。 而不是
司机。findelelement(By.xpath(“/*[@id='btngerateextract']/span/span”))。点击()
使用JavascriptExecutor作为
遗嘱执行人。executeScript(“参数[0]。单击();”,驾驶员findelelement(By.xpath(“/*[@id='btngerateextract']/span/span”)
其余的键盘或鼠标事件可以使用Robot类执行