从ClassName为ChromeRenderWidgetHostHWND的元素初始化UIautomation树.可访问



我需要使用"UI自动化";来自windows操作系统中其他程序的技术。一些程序具有";类似铬的";用于内容呈现的浏览器。方法是get元素(如c#AutomationElement.FromPoint/FindAll(返回ClassName为"的浏览器元素;Chrome_ RenderWidgetHostHWND";并且Name类似于";Chrome传统窗口";。但我需要浏览器中的内容元素。

我发现,程序;Accessibility Insights"可以做到!

  1. 运行应用程序,"微软团队";,例如
  2. 运行";Accessibility Insights">
  3. 将鼠标移动到"上;微软团队";,我们得到";Chrome传统窗口">
  4. 在目标程序("Microsoft Teams"(上的任何鼠标点击(左/右(后引发重建UI树
  5. 然后UI自动化技术可以在浏览器中获取所有内部UI元素

";Accessibility Insights"源代码是https://github.com/microsoft/accessibility-insights-windows我非常仔细地研究了它,但没有找到提供重建(或初始化?(内部UI元素的代码。

有人能帮我吗?我应该做些什么来赢得我的任务——在windows操作系统上的另一个程序中,在类似chrome的浏览器中获得内部UI元素?

如果你已经读到最后,谢谢

Accessibility Insights for Windows不直接与UI Automation系统交互。它构建在Axe.Windows(源代码(上,它查询并公开UI Automation属性。在您描述的案例中,Axe.Windows正在遍历UI Automation树,以响应来自UI Automation框架的UIA_AutomationFocusChangedEventId消息。该通知由FocusTracker.cs的onFocusChangedEventForSelectingElement方法处理。希望这足以让您开始。

--Dave Tryon(Accessibility Insights团队(

相关内容

  • 没有找到相关文章

最新更新