如何获取最深的文本?

时间:2019-05-09 13:53:30

标签: selenium xpath

有时想要的文本适用于A类,但是有时出现Depper类B,然后将文本重新定位到更深的B类。 如何使用xpath从最深的类中获取带有文本的文本?

<?xml version="1.0" encoding="UTF-8"?>
<html>
   <td>
      <span class="classA">wanted text in case when classA is deepest one</span>
   </td>
   <td>
      <span class="classA">
         <span class="classB">wanted text in case when classB is deepest one</span>
      </span>
   </td>
</html>

2 个答案:

答案 0 :(得分:3)

假设classA始终存在;

if(driver.findElements("//span[@class='classB']").size() > 0)
    return By.xpath("//span[@class='classB']");
else
    return By.xpath("//span[@class='classA']");

根据新需求进行了更新。这是您要查找的xpath。

//span[not(descendant::span)]

答案 1 :(得分:1)

这里是获取每个td的最后跨度的另一种选择。

//td//descendant::span[last()]

这是证据。 enter image description here