有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

与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) 个答案

  1. # 1 楼答案

    这个问题通过脚本中的一个小改动得到了解决。 而不是

    司机。findelelement(By.xpath(“/*[@id='btngerateextract']/span/span”))。点击()

    使用JavascriptExecutor作为

    遗嘱执行人。executeScript(“参数[0]。单击();”,驾驶员findelelement(By.xpath(“/*[@id='btngerateextract']/span/span”)

    其余的键盘或鼠标事件可以使用Robot类执行