不瞭解 Xpath的contains函數的可以看下w3c官方文檔 Xpath函數
可以看出 contains函數表示意思是,第一個參數字符串包含第二個參數時,返回true
實際用起來可能會有點差異(由於結合了路徑表達式和屬性)
比如我們會有這麼用
tree.xpath('//div[contains(@class,"abc")]') #選取class屬性包含字符串"abc"的節點
還有,在需要判斷節點是否包含某個子節點時候,可以這麼用
tree.xpath('//div[contains(/,a)]') #判斷div是否滿足包含子節點a這個條件,是則返回滿足條件的div節點
當需要多個函數條件時,可以這麼用
tree.xpath('//div[contains(@class,"abc") and contains(@class,"cbf")]') #返回class屬性同時包含 "abc" 和 "cbf" 字符串的div節點
tree.xpath('//div[contains(@class,"abc") or contains(@class,"cbf")]') #返回class屬性包含 "abc" 或 "cbf" 字符串的div節點
以上,就是關於xpath的一個總結,第二種用法不太常用,特此記錄下,希望能幫助到大家~