gpt4 book ai didi

vb.net - 通过类名获取元素进行点击

转载 作者:行者123 更新时间:2023-12-03 03:22:03 25 4
gpt4 key购买 nike

我正在使用 Web 浏览器控件在 VB.NET 中创建一个 Windows 窗体,但无法单击下面的代码。

<input type="Submit" class="btn btnSearch bold include_WidthButton" value="Search">

当通过ID获取元素时我可以点击,但不能通过类名获取元素。请帮助我,谷歌搜索对我没有帮助。

这是我尝试过的:

For Each Element As HtmlElement In WebBrowser1.Document.GetElementsByTagName("btn btnSearch bold include_WidthButton")
If Element.OuterHtml.Contains("btn btnSearch bold include_WidthButton") Then
Element.InvokeMember("click")
End If
Exit For

最佳答案

没有本地函数可以使用网络浏览器文档按类获取元素集合。但是,您可以使用函数创建自己的集合,并使用 document.all 属性循环遍历所有元素。

Function ElementsByClass(document As HtmlDocument, classname As String)
Dim coll As New Collection
For Each elem As HtmlElement In document.All
If elem.GetAttribute("className").ToLower.Split(" ").Contains(classname.ToLower) Then
coll.Add(elem)
End If
Next
Return coll
End Function

使用方式如下:

Private Sub UpdatBtn_Click(sender As System.Object, e As System.EventArgs) Handles UpdatBtn.Click

For Each elem As HtmlElement In ElementsByClass(WebBrowser1.Document, "form")
elem.SetAttribute("className", elem.GetAttribute("className") & " form-control")
Next

End Sub

我发现您正在尝试将您的集合基于整个 className 而不是单个类,因此您需要稍微修改。

关于vb.net - 通过类名获取元素进行点击,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36038131/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com