能够运用以下语法来提取文本内容中包括“中国银行“并且长度大于20的文本数据:
//text()[contains(.,'中国银行') and string-length(.)>20]
这个XPath表达式用到了以下函数:
-
text()
:表明当时节点的一切文簿本节点。 -
contains(.,'中国银行')
:判别文本内容中是否包括“中国银行”。 -
string-length(.)>20
:判别文本内容长度是否大于20。其间,“.”代表当时节点,也便是要提取文本的节点。
最终成果会返回一切契合以上两个条件的文本内容。
能够运用以下XPath定位找到文本内容为”下一页”的标签:
//a[text()='下一页']
上述语句中,//a
表明挑选一切的链接标签。[text()='下一页']
表明在该选定集合中挑选出文本内容为“下一页”的元素。
假如您想约束只在某个特定元素下查找,能够将//
替换为该元素的XPath路径。例如,假如要在带有id
特点值为pagination
的div
元素中查找下一页链接:
//div[@id='pagination']//a[text()='下一页']
其间 //div[@id='pagination']
用于在id
为“pagination”的 div 元素内查找子元素。
通过确定父级标签找兄弟标签:
xpath("//strong[text()='公司名称:']/../span/text()").get("").strip()
这个 XPath 表达式的含义是:
-
//
: 从根节点开始查找 -
strong
: 元素名为 strong 的元素 -
[text()='公司名称:']
: 其间包括文本内容为“公司名称:”(留意这里直接判等,假如 strong 标签内有其他字符可能会匹配不成功) -
/..
: 向上查找一级,即到这个 strong 标签的父标签 -
/span
: 在 strong 标签的父标签中寻找一个子标签名为 span 的元素 -
/text()
: 获取该 span 元素的文本内容 -
.get('')
: 获取获取到的元素文本内容。假如元素不存在则返回空字符串。 -
.strip()
: 去除内容首尾的空白符和换行符等。