VB.NET GetElementByTagName不';行不通
我想在带有InvokeMember(“单击”)代码的网站上按下一个按钮。基本上,网站的html代码如下:VB.NET GetElementByTagName不';行不通,vb.net,dom,getelementbyid,Vb.net,Dom,Getelementbyid,我想在带有InvokeMember(“单击”)代码的网站上按下一个按钮。基本上,网站的html代码如下: <em class='coins'> <span class="click"></span> 但这似乎也没有帮助。 以下是Visual Studio中“我的Windows窗体”应用程序中的代码: Private Sub Button1_Click(sender As Objec
<em class='coins'>
<span class="click"></span>
但这似乎也没有帮助。
以下是Visual Studio中“我的Windows窗体”应用程序中的代码:
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
For Each elem As HtmlElement In WebBrowser1.Document.GetElementsByTagName("span")
If elem.GetAttribute("class") = "click" Then
elem.InvokeMember("click")
End If
End If
Next
End Sub
抱歉,如果此问题被视为重复问题,它与我提出的另一个问题不同我认为您必须使用(className)和(.Equals()表示两个字符串),如下代码:-
If elem.GetAttribute("className").Equals("free-coins-click") Then
elem.InvokeMember("click")
End If
End If
天哪,我爱你,在过去的3天里,我一直在学习编程,现在每天学习6个多小时,只是为了找到我需要的东西和它的2行代码。你让我很开心,非常感谢!!!我会尽快选择它作为解决方案,
.Equals()
调用是不必要的。这同样有效:如果elem.GetAttribute(“className”)=“免费硬币点击”,那么
。请注意@oToGaming for future.@VisualIncent,虽然不需要使用.Equals()
,但它的使用(尤其是其重载)比依赖于选项Compare
设置的VB字符串相等运算符产生更容易预测的结果(请参阅:。VB相等运算符也不处理任何内容
(null)作为一个空字符串,可能会让不熟悉该语言细微差别的人感到困惑。@TnTinMn:是的,我同意它的重载更“强大”,但在使用no重载检查简单(非null)字符串的情况下,它没有多大区别,除非选项Compare
设置为Text
。
If elem.GetAttribute("className").Equals("free-coins-click") Then
elem.InvokeMember("click")
End If
End If