【问题标题】:Not able to click the button on File Download with JWinAuto无法使用 JWinAuto 单击文件下载按钮
【发布时间】:2011-04-27 09:11:39
【问题描述】:

我是 JWinAuto 和 AutoIT 的新手。 我想单击文件下载控件上的保存按钮。 我可以将焦点放在按钮上,但如果当前文件下载不在焦点上,它不会单击。我已将其设置为顶部并激活它以使其集中。但我仍然无法点击按钮。 我在这里附上代码。任何人都可以告诉我是否遗漏了什么..

            private static final WString BLANK_STRING = new WString("");
            private static final WString FILE_DOWNLOAD = new WString("File Download");
            System.out.println("hi..");
            JAutoITx wrapper = JAutoITx.INSTANCE;
            wrapper.AU3_Init();
            wrapper.AU3_WinWait(FILE_DOWNLOAD, BLANK_STRING, 15);
            wrapper.AU3_WinActivate(FILE_DOWNLOAD, BLANK_STRING);
            System.out.println(wrapper.AU3_WinActive(FILE_DOWNLOAD, BLANK_STRING));
            wrapper.AU3_WinSetOnTop(FILE_DOWNLOAD, BLANK_STRING, 0);
            wrapper.AU3_ControlFocus(FILE_DOWNLOAD, BLANK_STRING, new WString(
                            "[CLASS:Button; INSTANCE:2]"));
            wrapper.AU3_ControlClick(FILE_DOWNLOAD, BLANK_STRING, new WString(
                            "[CLASS:Button; INSTANCE:2]"), BLANK_STRING, 1, 6660, 500);
            wrapper.AU3_Send(new WString("s"), 0);

【问题讨论】:

    标签: java automation autoit


    【解决方案1】:

    您不必为 ControlClick 工作而聚焦窗口。它也不必被激活、设置在顶部等。我知道这些只是测试,但 ControlClick 行本身就足够了。

    这一行:

     wrapper.AU3_ControlClick(FILE_DOWNLOAD, BLANK_STRING, new WString("[CLASS:Button; INSTANCE:2]"), BLANK_STRING, 1, 6660, 500);
    

    ControlClick "title", "text", "controlID" [, button [, clicks [, x [, y ]]]]

    您基本上是在说:单击距离按钮左侧 6660 像素和距离按钮顶部 500 像素的按钮。该按钮可能会收到消息并检查客户端是否在其自己的坐标内单击。如果这样做,按钮将必须是 6660x500 像素大,我在这里猜测,但我很确定它没有那么大。

    特别是因为参数是可选的,你为什么要传递它?只需执行以下操作:

     wrapper.AU3_ControlClick(FILE_DOWNLOAD, BLANK_STRING, new WString("[CLASS:Button; INSTANCE:2]"), BLANK_STRING, 1, 0, 0);
    

    查看它是否仅适用于 ControlClick。附带说明一下,一些应用程序会在处理发送到控件的任何命令之前检查窗口是否处于活动状态,但大多数应用程序不会。

    如果这不能回答您的问题,那么我想知道“文件下载”按钮属于哪个应用程序,以便我自己编写测试。

    【讨论】:

    • 谢谢曼达尔。我尝试使用它,但它没有用。有时有效,有时无效。早些时候我尝试直接使用窗口名称但它不起作用所以我尝试使用窗口但结果相同另一种情况是:点击IE页面中的下载链接,查看对话框,打开chrome或opera浏览器的实例.并运行它失败的程序。我不确定它为什么会发生。如果您有一些文件下载示例,无论窗口是否具有焦点都可以正常工作。文件下载适用于我们的客户端应用程序,就像任何 web 应用程序一样。
    猜你喜欢
    • 2018-03-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-04-29
    • 2018-04-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多