2016-07-11 20 views
0

Gestern fragte ich, wie man den Text in einem div bekommt, das keine ID hat.
Menschen gaben mir diese sehr gute Antwort:vb.net, webbrowser, viele gleiche Klassennamen

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 

Aber jetzt ein neues Problem, das ich bin vor: Ich erkennen, dass viele Artikel die gleiche Klassenname „js-text-Container haben, und wenn ich auf die button1 in meinem richtextbox erhalte ich den Text des letzten div mit diesem Klassennamen ...

Wie den Text im ersten div mit der Klasse mit dem Namen „js-text-Container“ bekommen?

+0

verlassen Sie einfach die Schleife, nachdem Sie die erste gefunden haben ... haben Sie versucht, einen Haltepunkt zu machen und zu sehen, was es tut? –

Antwort

0

Gerade Ausfahrt die Schleife, nachdem Sie das erste Element gefunden haben ...

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 

Sie sollten lernen, wie Sie den Breakpoint verwenden und den Code schrittweise ausführen. Das hättest du sofort bemerkt.

+0

gleiche Antwort nach Ihrem Rat, ich fühle mich wie ein Profi: D – al78310

+0

wahr, werde ich das lernen, es scheint sehr nützlich, danke für Ihren Rat – al78310

0

Wow Leute, antwortest du mir so schnell, vielen Dank !!!!! Sie waren total richtig, ich musste nur die Schleife verlassen, aber ich wusste nicht den Befehl "Exit für" Danke Jungs, ich habe etwas gelernt!

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 

Mit freundlichen Grüßen, diese Community ist super!