IExplorer自动鼠标结束

时间:2013-05-28 12:14:42

标签: internet-explorer-10 browser-automation

通过从C#执行IExplorer 10自动化,我需要将鼠标移动到给定的html元素上,或者在该元素上触发mouseover事件。我试过这个:

  • 移动鼠标,但即使我可以获得IE的窗口坐标,我也无法获得真正的html元素坐标,因为总是得到左上角的窗口。不知道如何计算真实元素的屏幕坐标以将鼠标移到它上面。
  • 不知道如何以编程方式触发onmouseover事件。

欣赏任何想法。谢谢。

我真正需要的是显示由CSS悬停处理的菜单。

1 个答案:

答案 0 :(得分:0)

您可以在浏览器中调用JavaScript,这将触发鼠标悬停事件。 为此,您需要执行以下步骤:

  1. 使用ShellWindowsClass枚举IWebBrowser2标签,以便找到要注入的标签。
  2. 从第1步中获取标签HTMLDocumentClass属性的Document
  3. 从上面的IHTMLWindow2媒体获取Document parentWindow。
  4. 使用上面窗口对象上的executeScript方法执行JavaScript以触发鼠标悬停事件。请注意,executeScript方法不会返回任何有效值。如果你需要返回一个返回值,那就更复杂了。