我需要以编程方式导航 java-applet,但我对 Java 平台并不热衷。所以让我们假设我已经用加载了适当的 java 小程序说明了 IE 进程。接下来我需要对这个特定的小程序采取一些操作,比如,让 WM_COMMAND 与 BN_CLICKED 代码一起发送到对话框,就像我在 C 中对 Windows 所做的那样。假设它不是一个常规窗口,我可以使用 HWND 来引用,我想向某人寻求有关如何执行此操作的建议。
2 回答
据我了解,您想在客户端导航(发送击键和鼠标点击)一个 java-applet。这取决于您是否拥有小程序(例如:您拥有代码并且可以更改它)或者小程序是否是封闭源代码并且您只想远程处理它。
在第一种情况下,使用 javascript 来自动化它。更改包含 HTML 页面以包含一些 Javascript 并将参数传递给小程序,如Java 教程中所述。
如果小程序接受参数,但您不能更改 HTML 页面,请使用GreaseMonkey 替代 IE。
您的其他方法(将 Windows 消息从外部应用程序发送到 IE)也应该有效。启动 Spy++(如果您使用的是 64 位 Windows,请使用 64 位版本),选择“搜索 - 查找窗口...”并将“查找工具”图标拖到小程序上并释放它。您将看到 HWND,如果您按搜索,您将看到 IE 窗口层次结构中的窗口。所以,是的,您可以将击键和鼠标点击发送到浏览器。
如果我要自动化浏览器,我会使用Geb。您在 Groovy 中编写“网站测试”代码,只需查看 Geb 索引页面。
您可以尝试使用 FireFox +“Selenium IDE”通过小程序记录导航,然后将其导出并尝试使用 Selenium IE WebDriver 在 Java 应用程序中运行它。
有关 Selenium 的信息可以在这里找到:http: //docs.seleniumhq.org/
也许这个问题也会对您有所帮助:如何自动化 Java 小程序?