我正在使用UI 自动化 COM-to-.NET 适配器来读取目标 Google Chrome 浏览器的内容,该浏览器在 Windows 7 上播放 FLASH 内容。它可以工作。
我成功获得了内容和元素。一段时间内一切正常,但几个小时后,这些元素变得无法访问。
(AutomationElement).FindAll()
返回0个孩子。
UIAutomation 是否有任何内部未记录的超时?
根据这个IUIAutomation2 接口 有 2 个超时,但它们不能从 IUIAutomation 接口访问。IUIAutomation2 仅在 Windows 8 上受支持(仅限桌面应用程序)。
所以我相信有一些超时。我做了一个解决方法,从桌面树的开头重新开始搜索和监视元素,但元素仍然不可用。一段时间后(不确定多少)这些元素再次可用。我的要求是尽可能快地读取这些值,但这种行为会对整个架构造成损害。我在某处读到有 3 分钟的超时,但不确定。
如果超时,是否可以更改它?是否可以重新启动某些东西或释放/处置某些东西?我在 MSDN 上找不到任何东西。
有谁知道发生了什么以及如何解决?