2017-02-14 1 views
0

Also, ich bin ein Projekt erstellen mit C# und Gecko (Firefox) Browser. Eine der Sachen, die ich machen möchte, ist, den Text (tatsächlich ist es eine Nummer) einer Span-Klasse vom HTML-Code einer Webseite zu lesen. HierHolen Sie Elemente von Kind Klasse

ist der Teil des HTML-Elements ich bin interessiert an: http://prntscr.com/e8sne4

ich dieses Stück Code verwendet, um die Zahl zu lesen:

var links = GeckoWB.Document.GetElementsByClassName("ipsNotificationCount"); 

     foreach (GeckoHtmlElement link in links) 
     { 
      string value = link.GetAttribute("data-currentcount"); 
      if (!string.IsNullOrWhiteSpace(value)) 
      { 
       MsgLbl.Text = value; 
       break; 
      } 
     } 

Dieses Stück Code funktioniert wie ein Charme .. Aber es gibt ein Hauptproblem. Es gibt mehr als eine "Unterklasse" innerhalb des HTML-Codes der Webseite mit dem Namen "ipsNotificationCount", die ein html-Element namens "data-currentcount" enthält. Mindestens zwei. Wie in der Welt soll ich NUR das Element "data-currentcount" aus der Unterklasse "ipsNotificationCount" der Klasse "fa fa-envelope" nehmen? Ich habe alle verfügbaren Methoden durchsucht und kann nichts finden. Weder auf Google. Irgendein Vorschlag ?

Antwort

0

Ich habe es geschafft, dieses Problem zu lösen, indem ich nur in der Reihenfolge, in der jede Klasse "Instanz" der "ipsNotificationCount" Unterklasse ist, finde und die Informationen sammle. Es ist kein Profi-Weg, sondern funktioniert.