vb.net, webbrowser, 许多相同的类名

vb.net, webbrowser, many same classname

昨天我问如何获取没有 ID 的 div 中的文本。
人们给了我这个很好的答案:

Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
    Dim divs = WebBrowser1.Document.Body.GetElementsByTagName("div")
    For Each d As HtmlElement In divs
        If d.GetAttribute("className") = "js-text-container" Then
            RichTextBox1.Text = d.InnerText
        End If
    Next

但现在我面临一个新问题:我发现许多文章具有相同的 class 名称 "js-text-container ,当我单击 button1 时,在我的 richtextbox 中我用这个 class 名称得到了最后一个 div 的文本...

如何获取名为 "js-text-container" 的 class 的第一个 div 中的文本?

找到第一个元素后退出循环...

Dim divs = WebBrowser1.Document.Body.GetElementsByTagName("div")
For Each d As HtmlElement In divs
    If d.GetAttribute("className") = "js-text-container" Then
        RichTextBox1.Text = d.InnerText
        Exit For
    End If
Next

您应该学习如何使用断点和单步执行代码。你会马上注意到这一点。

哇你们这么快就回复我了,非常感谢!!!!!! 你们完全正确,我只是退出循环,但我不知道命令 "exit for" 谢谢大家,我学到了一些东西!

   Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click

    Dim divs = WebBrowser1.Document.Body.GetElementsByTagName("div")

    For Each d As HtmlElement In divs

        If d.GetAttribute("className") = "js-text-container" Then
            RichTextBox1.Text = d.InnerText
            Exit For
        End If

    Next

End Sub

此致,这个社区很棒!