我花了很多时间在网上搜索一个看似显而易见但没有结果的解决方案。
我需要在我的 Intranet 上运行的 Flash 应用程序中自动执行一项任务。
- 我无法更改 Flash 应用程序,也无法访问源代码。
- 它不是 Flash 电影,而是一个应用程序。
- 我无法下载 swf。
我在表单中使用 WebBrowser。Flash 应用程序显示没有问题。
到目前为止,我已经能够自动完成任务(单击一些按钮,然后输入文本,最后将结果保存在服务器上)。它可以工作,但根本不干净,因为我使用硬编码的计时器来等待给定的操作完成,然后我在应用程序中的给定坐标处单击非常特定的点。
我想做的事:
避免使用硬编码的计时器。Flash 应用程序需要一些时间来显示窗口上的所有元素(从 20 到 60+ 秒)。我希望能够检测到所有元素的加载时间。我试图检索 windows 句柄的文本,但是虽然我可以检索 Flash hwnd
,但我无法检索内容(通过消息)。
简而言之,如果要在 Flash 应用程序中加载的最后一个元素中写入“ABC”,而不是等待 60 秒(并且不是 100% 确定它是否足够),我想检测它是否已显示,以便我可以继续序列(单击下一步按钮)。
我正在使用 VB.net。任何实现这一目标的提示将不胜感激。