2016-11-20 3 views
0

Meine HTML-Seite Code besteht eine Menge Anker-Tags, aber ich brauche alle href Wert innerhalb des Anker-Tag und Ankertag Wert zu erhalten die innerhalb eines Header-Tags eines div Elements vorhanden sind, verwende ich Selen in Java, um die Seitenquelle des HTML zu erhalten.Wie die Anker-Tag-Wert und href Wert innerhalb eines Header-Tag bekommen Selen mit

Der Teil von HTML-Code meines der Webseite wie folgt aussehen: -

<a href="www.qq.com">qq</a> 
<a href="www.ww.com">ww</a> 
<a href="www.ee.com">ee</a> 
<div class="hello"> 
<h2> 
<a href="www.aa.com">aa</a> 
<a href="www.ss.com">aa</a> 
</h2> 
<div> 

Der Java-Code i die Anker-Tag-Werte wie folgt aussehen abzurufen bin mit: -

List<WebElement> list = driver.findElements(By.xpath("//*[@href]")); 
     for (WebElement e : list) { 
      String link = e.getAttribute("href"); 
      System.out.println(e.getTagName() + "=" + link); 
     } 

die Ausgabe des obigen Codes wird wie folgt aussehen: -

a=www.qq.com 
a=www.ww.com 
a=www.ee.com 
a=www.aa.com 
a=www.ss.com 

Aber der Ausgang ich brauche, ist wie folgt: -

a=www.aa.com , aa 
a=www.ss.com , ss 

Ich brauche die alle anchortag Werte und href Werte innerhalb der hallo Klasse

Antwort

0

Versuchen Sie, diese zu bekommen - hallo Verwenden getText() und modifizierten XPath enthalten hrefs innerhalb des div mit Klasse. Angenommen, das bestimmte div ist das eindeutige div mit dem Klassennamen.

List<WebElement> list = driver.findElements(By.xpath("//div[@class='hello']//a[@href]")); 
      for (WebElement e : list) { 
       String link = e.getAttribute("href"); 
       System.out.println(e.getTagName() + "=" + link + " , " + e.getText()); 
      } 
+0

Tut mir leid, es funktioniert nicht. –

+0

Der Xpath fehlte ein @. Bearbeitet in Antwort. Vielleicht funktioniert das. – Grasshopper

+0

Danke @Grasshopper, es funktioniert wie ein Charme! :), ich habe einen Zweifel, können wir den gleichen Prozess zu den Anchortag-Werten innerhalb des UL-Tags verwenden? –

Verwandte Themen