2

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

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

欣赏任何想法。谢谢你。

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

4

1 回答 1

0

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

  1. 用于ShellWindowsClass枚举IWebBrowser2选项卡以找到要注入的选项卡。
  2. 从步骤 1 中的选项卡HTMLDocumentClass的属性中获取of。Document
  3. 从上面的属性中获取IHTMLWindow2parentWindow 。Document
  4. 使用executeScript上面 window 对象上的方法执行 JavaScript 以触发鼠标悬停事件。请记住,该executeScript方法不返回任何有效值。如果您需要返回返回值,则涉及更多。
于 2015-09-11T04:27:27.900 回答