1.常用根据包含指定文本内容定位标签方式
//*[contains(text(),'177147')]
但是上面的这种方式遇到同一个标签中有多行文本的情况就只能定位到第一行的内容,如果指定内容不在第一行文本中就定位不到了,如下图所示。
2.同一个标签多行文本根据包含指定文本内容定位标签方式
//p[contains(.,'177147')]
如下图所示定位到了结果元素
//*[contains(.,'177147')]
如果单纯为了校验结果是否正确则可以将标签类型改为*,不限制标签的类型。此种方式实际是将包含指定文本的元素及其所有的祖先元素全部定位了。
页面上有指定文本结果时:
页面上没有有指定文本结果时:
//div[@class='leading-relaxed break-words']//*[contains(.,'177147')]
当然也可以再增加一些其他条件使范围更小