📅  最后修改于: 2023-12-03 15:35:47.763000             🧑  作者: Mango
在使用 XPath 查找元素时,我们可能需要查找包含特定文本的 span 元素。这时我们可以使用 XPath 中的 contains
函数来实现。
contains
函数contains
函数用于判断一个字符串中是否包含另一个字符串。
语法如下:
contains(字符串1, 字符串2)
其中,字符串1为需要判断的字符串,字符串2为需要查找的字符串。
如果字符串1中包含字符串2,则返回 true
;否则返回 false
。
contains
查找包含文本的 span 元素我们可以结合 contains
函数和标签名来查找包含特定文本的 span 元素。
例如,我们要查找页面中包含文本“Hello World”的 span 元素,可以使用以下 XPath 表达式:
//span[contains(text(),"Hello World")]
其中,//span
表示查找所有的 span 元素,contains(text(),"Hello World")
表示判断该 span 元素中是否包含“Hello World”文本。
Python 代码示例:
from lxml import etree
# 构建 Element 对象
html = """
<html>
<body>
<span>Hello World!</span>
<span>Hi, Python!</span>
<span>Greetings!</span>
</body>
</html>
"""
tree = etree.HTML(html)
# 查找包含"Hello World"文本的 span 元素
spans = tree.xpath('//span[contains(text(),"Hello World")]')
for span in spans:
print(etree.tostring(span, encoding="utf-8").decode())
输出结果:
<span>Hello World!</span>
通过本文,我们学习了如何使用 XPath 的 contains
函数和标签名来查找页面中包含特定文本的 span 元素。希望对大家有帮助!