现象
有一些地方的文字,看起来好像很简单,就是一个节点里的text文本而已。比如:
这个节点猛的一看就是一个包裹在div里的文字而已,那就是使用contains来定位一下就好了,于是乎打出了//div[contains(text(),"甲方应配合乙方执行")]。但是定位后发现和想的不太一样,这居然没有定位出来,那是因为这段文字并不是这个div的text属性。
解决方法
遇到这种文字,还必须要定位到的情况,就可以使用//text()来进行定位,如:
//text()[contains(.,"甲方应配合乙方执行")],这句定位的意思是定位全部的text文本,然后找出任意属性包含"甲方应配合乙方执行"的节点。
举一反三,知道这句定位了以后,就可以灵活运用,//text()表示定位文本,而contains(.,"")又表示包含任意属性。