我的要求是自动配置实例(我正在开发的公司产品的实例)。场景是这样的,在我的配置中间,控件从窗口转到浏览器,其余的配置过程在浏览器中处理,因此整个过程是基于窗口和基于浏览器的组合。我已经使用 AutoIT 完成了基于窗口的配置,当控件转到浏览器时,我正在使用_FFStart() $ffUrl = _FF_GetCurrentURL()
. 我在 AutoIT 脚本的变量中获取 URL。我想通过 Selenium 自动化进一步的基于 Web 的配置。我从我的 Java 类中调用这个 AutoIT 编译的脚本。我的问题是,有没有一种方法可以获取保存在 AutoIT 脚本中的 URL,以便创建 Web 驱动程序实例、使用 URL 打开浏览器并使用 Selenium 进一步处理我的配置过程。
1 回答
如果您从代码中启动/运行 exe 文件,则可以将路径变量作为参数,例如:
$va = "我的变量" run("myexe.exe $var)
或等效的
或一般来说:
您可以通过多种方式在应用程序/进程之间共享变量
使用 windows 消息查找 _WinAPI_PostMessage 函数,该函数将消息发送到特定窗口或广播消息到所有窗口,以便所有正在运行的应用程序在 autoit 中获取消息(也可以传递 2 个变量)您可以设置一个运行的函数(停止主程序)当您的 autoit 应用收到此类消息和变量时
您可以设置 UDP 或 TCP 通道,以便您正在运行的应用程序可以通信(UDP 应该可以正常工作)一个应用程序是服务器另一个是客户端
文件通信设置,将要发送的变量或信息写入文件,其他应用程序读取文件(与第一种方法结合使用会很好:应用程序'A'将数据写入文件'data.msg'然后向应用程序“B”发送消息,在收到消息后读取“data.msg”)您可以建立复杂的协议以及确认消息等,以防您的应用程序需要它。
_WinAPI_RegisterWindowMessage _WinAPI_PostMessage GUIRegisterMsg
是相关功能,您可以在 autoit 帮助中查找它们
如果您认为其中任何一个是可行的,但您需要进一步的帮助,我可以编写一个简单的代码,在实践中证明这一点