2013-12-14 14 views
11

Wie bekomme ich einen Wert von href?get href value (WebDriver)

wie diese zB:

<div id="cont"><div class="bclass1" id="idOne">Test</div> 

    <div id="testId"><a href="**NEED THIS VALUE AS STRING**"> 
    <img src="img1.png" class="clasOne" /> 
    </a> 

</div> 
</div> 
</div> 

Ich brauche diesen Wert als String.

Ich habe mit dieser versucht:

String e = driverCE.findElement(By.xpath("//div[@id='testId']")).getAttribute("href"); 
      JOptionPane.showMessageDialog(null, e); 

Aber gibt nur NULL-Wert ...

Antwort

33

Sie haben Ihr Element 'div' anstelle von 'a'

das Versuchen zeigte unter dem Code

driverCE.findElement(By.xpath("//div[@id='testId']/a")).getAttribute("href"); 
+0

Jetzt arbeiten! Vielen Dank. – user3062055

+5

@ user3062055 Vergessen Sie nicht, diese Antwort als akzeptiert zu markieren. – Stephan

0

Wenn Sie mehr als ein Anker-Tag haben, hilft das folgende Code-Snippet um alle Links zu finden, auf die href zeigt

//find all anchor tags in the page 
List<WebElement> refList = driver.findElements(By.tagName("a")); 

    //iterate over web elements and use the getAttribute method to 
    //find the hypertext reference's value. 

    for(WebElement we : refList) { 
     System.out.println(we.getAttribute("href")); 
    }