【发布时间】:2011-10-17 13:47:32
【问题描述】:
这可能是徒劳的,但我想知道是否有人有这样做的经验。
我正在尝试使用 System.Windows.Automation(例如,自动化元素)。
我遇到的问题是 Chrome 在子进程中托管 Silverlight 应用程序。如果我试图找到 "Silverlight Control" AutomationElement(通过使用主进程的 hWnd),它会失败。
如果我找到 Silverlight 宿主子进程,它没有窗口句柄,如果我尝试使用子进程的句柄查找控件,它会失败。
我知道它在那里...我可以使用 Inspect 看到它
但我只能通过在 Silverlight 应用中单击并在 Inspect 中向上导航来找到它。我无法使用 AutomationElement.FindFirst 或 Inspect 从选项卡窗口向下导航。
它就像在 IE 或 Firefox 中看不到的窗口和 Silverlight 插件之间存在断开连接,我不知道如何解决它。
其他人能做到吗?
【问题讨论】:
-
running Chrome with the
--no-sandboxflag set 有帮助吗?我没有可用的 Inspect.exe,因此无法确认。 -
@Marcel:嗯,不知道。但是,我不确定这是否是一个可接受的解决方案。您必须要求用户不要使用 Chrome 的一项更好的功能。这有点像要求他们以管理员身份运行。
-
哦,当然,我以为你只是想调试这个答案适合的东西。
标签: silverlight google-chrome ui-automation automationelement