CSS / xpath选择器用于在给定的类中查找带有文本的h3标记?

时间:2017-05-11 09:42:41

标签: xpath selenium-webdriver css-selectors

选择器查找带有<h3>的元素,其中一些文本是类的后代?

尝试xpath="//*[@class='body']//descendant::h3[contains(text(), sampletext]

这不起作用。有没有办法可以找到这个?

<div class="body">
  <h3> text1 </h3>
  <p>....</p>
  <h3> text2 </h3>
  <p>... </p>
  <h3> text3 </h3>
</div> 

选择器在<h3>中查找包含text3的className="body"标记?

2 个答案:

答案 0 :(得分:1)

您错过了单引号contains(text(), sampletext)]

应为'sampletext'

   xpath="//div[@class='body']//descendant::h3[contains(text(), 'sampletext')]"

如果你想找到h3标签

 xpath="//div[@class='body']/h3[contains(text(), 'text3')]"

答案 1 :(得分:1)

试试这个简单的xpath,如果遇到任何问题,请告诉我

//div[@class='body']/h3[text()='text3']

OR用于修剪文本前后的空格

//div[@class='body']/h3[normalize-space()='text3']

下面的元素基于部分文本匹配

//div[@class='body']/h3[contains(.,'text3')]