如何在selenium xpath中遍历祖先并返回孩子?

时间:2020-10-21 14:27:13

标签: selenium xpath

我写的xpath如下:

//span[contains(text(),'Preview')]/..//..//..//*[contains(text(),'Edit')]

如何用祖先,父级,前置等功能替换“ /..//..//..//”。

这是html:

 <div class="parent">
          <div class="test">
                    <button class="test1">
                    <span>Edit</span>
                    </button>
          </div>

          <div class="test">
          </div>

          <div class="test">
                    <button class="test2">
                    <span>Preview</span>
                    </button>
          </div>
    <div>

3 个答案:

答案 0 :(得分:0)

您可以尝试使用xpath:

//div[@class='parent' and contains(., 'Preview')]//button[@class='test1']//span[text()='Edit']

答案 1 :(得分:0)

上到祖先div类的父级,然后下移。

//div/span[contains(text(),'Preview')]/ancestor::div[class='parent']//*[contains(text(),'Edit')]

答案 2 :(得分:-1)

尝试此操作以选择所需的节点

//div[.//span="Preview"]/preceding-sibling::div//span[.="Edit"]