2016-11-20 78 views
0
获得标题标签内的锚标记值和href的值

我的HTML页面的代码包含了很多锚标记,但我需要获得锚标记和锚标记值内的所有href的值其中存在标题标记div元素,我使用selenium在java获得HTML的页面源。如何使用硒

我的网页的HTML代码中的部分看起来像这样: -

<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> 

我使用的检索锚标记值中的Java代码如下所示: -

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

上述代码的输出是这样的: -

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

但输出我需要的是这样的: -

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

我需要得到Hello类

回答

0

试试这个里面的所有anchortag值和HREF值 - 使用getText()和修改XPath来包括DIV中的HREFs带班打招呼。假设特定的div是类名称中唯一的div。

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

对不起,它不起作用。 –

+0

xpath缺少@。在答案中编辑。也许这有效。 – Grasshopper

+0

Thanx @Grasshopper,它的工作就像一个魅力! :),我有一个疑问,我们可以使用相同的过程来ul标签内的anchortag值吗? –