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 事件未触发的主要内容,如果未能解决你的问题,请参考以下文章
如何解决VB中WebBrowser控件持续打开网页占用的内存
用Webbrowser怎么实现获取网页内容并自动点击?(VB.NET)
Vb.net中Webbrowser无源代码获取元素,点击元素的方法