VB.NET WebBrowser 控件 OnClick 事件未触发

Posted

技术标签:

【中文标题】VB.NET WebBrowser 控件 OnClick 事件未触发【英文标题】:VB.NET WebBrowser Control OnClick Event Not Triggering 【发布时间】:2015-03-27 22:20:42 【问题描述】:

我正在使用 Vb.Net 来触发 Web 浏览器控件中的事件侦听器,但它似乎只在某些网站上有效,而在其他网站上无效...

WebBrowser1.Document.GetElementById("button name").InvokeMember("click")
WebBrowser1.Document.GetElementById("button name").InvokeMember("Onclick")

它适用于 adf.ly、gmail、google 等网站,但不适用于其他网站。 例如,在 airserver 登录网站 (http://www.airserver.com/Download) 上,它仅适用于某些按钮。 “免费下载”和“立即购买”按钮都可以使用。

但是,弹出窗口(当您按免费下载时出现)有一个“注册试用”按钮。我曾尝试使用这些代码,但它们不起作用。 (是的,我已在必填字段中填写了我的姓名和电子邮件)

WebBrowser1.Document.GetElementById("registrButton").InvokeMember("click")
WebBrowser1.Document.GetElementById("registrButton").InvokeMember("Onclick")

我还查看了 chrome 事件断点,它告诉我触发了“点击”事件。

如果你不介意去airserver,这是按钮的html代码

<a id="registrButton" class="button register" href="#" onclick="$('#promoRequest').submit();return false;">Register for Trial</a>

【问题讨论】:

【参考方案1】:

这是因为它是一个弹出窗口(可能是 ajax 并且代码在网络浏览器中不可见)。

但解决方案就在这里,使用此链接将 100% 工作: http://www.airserver.com/register/PC

然后重定向回您的下载页面,然后执行您正在执行的操作。

【讨论】:

以上是关于VB.NET WebBrowser 控件 OnClick 事件未触发的主要内容,如果未能解决你的问题,请参考以下文章

模拟链接点击webbrowser控件vb.net

如何解决VB中WebBrowser控件持续打开网页占用的内存

用Webbrowser怎么实现获取网页内容并自动点击?(VB.NET)

Vb.net中Webbrowser无源代码获取元素,点击元素的方法

Vb.net中Webbrowser无源代码获取元素,点击元素的方法

Vb.net中Webbrowser无源代码获取元素,点击元素的方法