首页 > 解决方案 > 通过 xpath 通过内部具有内部标签的文本查找标签

问题描述

我最近遇到一个问题。

我需要在页面上找到一个包含特定文本的 div 标签。问题是,文本被内部链接标签分为两部分,因此 HTML 树看起来像:

**<html>
    <...>
    <div>
        start of div text - part 1
        <a/>
        end of div text - part 2
    </div>
    <...>
</html>**

要唯一标识该 div 标签,我需要两部分 div 文本。自然,我会想出类似这样的 XPath:

.//div[contains(text(), 'start of div text') and contains(text(), 'end of div text')]

但是,它不起作用,找不到第二部分。

唯一描述这种标签的最佳方法是什么?

标签: seleniumxpath

解决方案


尝试使用下面的 XPath 来匹配div两个文本节点所需的:

//div[normalize-space(text())="start of div text - part 1" and normalize-space(text()[2])="end of div text - part 2"]

推荐阅读