能够运用以下语法来提取文本内容中包括“中国银行“并且长度大于20的文本数据:

//text()[contains(.,'中国银行') and string-length(.)>20]

这个XPath表达式用到了以下函数:

  • text():表明当时节点的一切文簿本节点。
  • contains(.,'中国银行'):判别文本内容中是否包括“中国银行”。
  • string-length(.)>20:判别文本内容长度是否大于20。其间,“.”代表当时节点,也便是要提取文本的节点。

最终成果会返回一切契合以上两个条件的文本内容。

能够运用以下XPath定位找到文本内容为”下一页”的标签:

//a[text()='下一页']

上述语句中,//a 表明挑选一切的链接标签。[text()='下一页'] 表明在该选定集合中挑选出文本内容为“下一页”的元素。

假如您想约束只在某个特定元素下查找,能够将//替换为该元素的XPath路径。例如,假如要在带有id特点值为paginationdiv元素中查找下一页链接:

//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(): 去除内容首尾的空白符和换行符等。