【问题标题】:Webbrowser: simulate mouse click on ul-li item in webpageWebbrowser:模拟鼠标点击网页中的ul-li项
【发布时间】:2011-03-13 19:35:48
【问题描述】:

我正在使用 WebBrowser 组件 C#/.Net 对一个网站进行自动化处理 实际的问题是我不太了解 Javascript,无法理解在鼠标点击某些元素时事情是如何工作的。

例如,我有一个使用 ajax 和 jquery 的页面(我猜是这样;) 并且有一个元素列表(它是一个带有子树的树)。 因此,当我单击根元素时,会显示加载进度并且内容正在更改,而无需完全重新加载页面。并且子树也被扩展了。

问题是如何使用WebBrowser控件鼠标点击根树元素? 我可以为树中的这个根元素获得适当的<LI> 元素,并且只有一个带有文本的<span>。 如果我打电话给InvokeMember("click") 它什么都不做......

请指教..

谢谢, 迈克尔。

【问题讨论】:

  • 我很困惑,网络浏览器控件不是winforms 控件吗?我们是在谈论制作一个winforms 程序来遍历一个html 文档吗?使用 C# 遍历文档不适用于 jQuery 答案。

标签: c# javascript .net jquery browser


【解决方案1】:

您可以在任何元素上模拟事件。 这两种方法都可以。

$(selector).click(); // triggers a click event on the selector (Selectors are CSS like selector passed)

编辑:

我还不明白你从哪里开始寻找li

$("li:has(span)").trigger("click"); // triggers a click event on the `li`

【讨论】:

  • 但是它是如何检测它应该实际点击哪一个 li 的呢?
  • 你知道“任何”元素(带有类或 id)从什么时候开始?如果是,它很容易向上或向下遍历并到达<li>
  • 是的,我知道如何访问那个
  • 元素。如果我做 elem.InvokeMember("click") 什么都不会发生
  • 好的,我找到了需要的 ,它负责鼠标点击。谢谢你们!
  • 猜你喜欢
    相关资源
    最近更新 更多
    热门标签