成功执行autoit后不返回selenium

时间:2015-05-15 06:41:04

标签: java selenium autoit

我正在尝试通过单击导出按钮从应用程序下载文档并将其保存到本地计算机。 点击导出按钮继续到这个网站(不推荐)错误将在另一个窗口中打开。点击此窗口保存弹出的IE11出现。 尝试使用autoit从下载的IE11中弹出的选项中选择保存选项。这样成功下载文件但控件没有返回到selenium脚本并且selenium脚本没有终止。下载后我编写了java代码检查文件是否存在于特定路径中。脚本不会转到代码的这一部分。请帮助

下面是我的自动代码 WinWaitActive(" Internet Explorer","",40)

  Send("{TAB}")--->by default selection is in "Open".So tabbing into "Save"
  Send("{ENTER}")

在selenium webdriver Iam中调用auto就好了 java.lang.Runtime.getRuntime()。exec((文件的路径)+" Download_IE.exe");

2 个答案:

答案 0 :(得分:0)

当我尝试手动下载时,点击保存后弹出窗口会自动关闭。但是在点击后运行脚本时保存窗口并没有自动关闭。当我通过脚本关闭窗口时它开始工作。< / p>

WinClose(&#34;窗口标题&#34;)

脚本挂在那一刻。 问题已解决

答案 1 :(得分:0)

从IE下载时,Autoit对我不起作用,我使用awt机器人类,从IE下载文件请参考下面

public static void clickAndSaveFileIE(WebElement element) throws InterruptedException{
    try {
        Robot robot = new Robot();
        // get the focus on the element..don't use click since it stalls the
        // driver
        element.sendKeys("");
        // simulate pressing enter
        robot.keyPress(KeyEvent.VK_ENTER);
        robot.keyRelease(KeyEvent.VK_ENTER);
        // wait for the modal dialog to open
        Thread.sleep(2000);
        // press s key to save
        robot.keyPress(KeyEvent.VK_ALT);
        robot.keyPress(KeyEvent.VK_S);
        Thread.sleep(2000);
        robot.keyRelease(KeyEvent.VK_ALT);


        //press enter to save the file with default name and in default location

        robot.keyRelease(KeyEvent.VK_S);
        Thread.sleep(2000);
        //press key  F6
        robot.keyPress(KeyEvent.VK_F6);
        robot.keyRelease(KeyEvent.VK_F6);
        //press key Tab
        robot.keyPress(KeyEvent.VK_TAB);
        robot.keyRelease(KeyEvent.VK_TAB);
        robot.keyPress(KeyEvent.VK_TAB);
        robot.keyRelease(KeyEvent.VK_TAB);
        robot.keyPress(KeyEvent.VK_TAB);
        robot.keyRelease(KeyEvent.VK_TAB);
        robot.keyPress(KeyEvent.VK_ENTER);
        robot.keyRelease(KeyEvent.VK_ENTER);

 } catch (AWTException e) {
            e.printStackTrace();
 }
}