2016-12-27 35 views
0

我想使用XPath來定位一個div(類=「1類」),其封裝了字符串「文本1」和「文本2」在此html元素的文本節點:的XPath:定位元件與含有兩個字符串

<html> 
<head> 
    <title></title> 
</head> 
<body> 
    <div class="class1"> 
     <div> 
      <a href="http://url1.com">Text1</a> 
     </div> 
     <div> 
      <div> 
       <a href="http://url2.com">Text2</a> 
      </div> 
     </div> 
    </div> 
    <div class="class1"> 
     <div> 
      <a href="http://url3.com">Text3</a> 
     </div> 
     <div> 
      <div> 
       <a href="http://url4.com">Text4</a> 
      </div> 
     </div> 
    </div> 
</body> 
</html> 

但此XPath似乎不工作:

//div[@class="class1" and contains(text(),"Text1") and contains(text(),"Text2")] 

我怎樣才能做到這一點?

回答

0

不要使用text(),因爲它僅與節點的直接文本孩子:

//div[@class="class1" and contains(., "Text1") and contains(., "Text2")] 
+0

輝煌謝謝。這是完美的,是有道理的。 – g0h