尝试在Web浏览器中点击按钮

tipotisand1984

New member
你好,如果一个按钮没有ID,我该怎么点击它?这是我想要点击的按钮,我该如何将它放入类似这样的代码中:WebBrowser1.Document.GetElementById("")。InvokeMember("click")。我已经在谷歌上搜索了很多,但是找不到任何有用的信息。这是否可能?感谢您的帮助。
 

dingsersore1976

New member
我对Visual Basic一无所知,但我想可能有一个叫做GetElementByClass的函数?获取class为“loginBnt”的元素,抓取第一个(页面上唯一的一个?)并点击它。对吗?
 
嗨,这里有一个技巧,希望能有帮助。如果您仍然遇到问题,请分享完整的 HTML 登录按钮文件,其中包括 Web 浏览器控件。Dim doc As HtmlDocument = wc.Document,Dim link As HtmlElement,Dim links As HtmlElementCollection = wc.Document.All。对于每个链接,如果链接的属性“href”包含“/login/”或“/login.php?return=”,则 link.InvokeMember("click")。
 

palinage1977

New member
如果没有id,试试className。如果没有className,那就只能数元素在HTML DOM中的位置了。祝好运。
 
尝试使用document.querySelectorAll("button")来获取元素索引。需要注意的是,这只适用于IE8及以上的版本。这意味着,如果你在一个未安装XP SP3的电脑上安装你的VB应用程序,它很可能会失败。如果我没记错的话,IE7到IE8只支持.querySelector而不支持querySelectorAll。一个精神分裂者的心灵比浏览器战争更宁静,因此务必阅读MSDN来了解信息。祝你好运。
 
对于allelements中的每个网页元素,如果webpageelement.GetAttribute("value")等于"Label from button",则webpageelement.InvokeMember("click")。
 

caforlidis1982

New member
在我的看法中,最佳实践是在文档中注入JavaScript代码,让JS代码完成所有DOM操作,因为.NET HTML*类*在IE版本之间可能会*不同*,这是一真正的混乱。
 

nemerviecay1970

New member
你可以使用标签文本而不是ID。举个例子,按钮的ID是“login”,标签文本为“登录”,你可以通过标签文本点击按钮。
 
顶部