常用xpath選擇器和css選擇器總結


xpath選擇器

表達式 說明
article 選取所有article元素的所有子節點
/article 選取根元素article
article/a 選取所有屬於article的子元素的a元素
//div 選取所有div子元素(不論出現在文檔任何地方)
article//div 選取所有屬於article元素的后代的div元素,不管它出現在article之下的任何位置
//@class 選取所有名為class的屬性
/article/div[1] 選取屬於article子元素的第一個div元素
/article/div[last()] 選取屬於article子元素的最后一個div元素
/article/div[last()-1] 選取屬於article子元素的倒數第二個div元素
//div[@lang] 選取所有擁有lang屬性的div元素
//div[@lang='eng'] 選取所有lang屬性為eng的div元素
/div/* 選取屬於div元素的所有子節點
//* 選取所有元素
//div[@*] 選取所有帶(任意)屬性的div元素
/div/a | //div/p 選取所有div元素的a和p元素
//span | //ul 選取文檔中的span和ul元素
article/div/p | //span 選取所有屬於article元素的div元素的p元素以及文檔中的所有span元素
//div[@id='1']/h1/text() 獲取id為1的div標簽下的h1標簽里的內容
//span[not(@class)] 選擇不包含class屬性的span節點
//span[not(@class) and not(@id)] 選擇不包含class和id屬性的span節點
//span[not(contains(@class,'expire'))] 選擇不包含class="expire"的span
//span[contains(@class,'expire')] 選擇包含class="expire"的span
//h2[contains(text(),'Activated')] 選擇標簽內容里包含Activated的h2標簽
//div[not(contains(text(),'activated'))] 選擇標簽內容中不包含activated的div標簽

XPATH如何選擇不包含某一個屬性的節點

我們知道選擇包含某一特定屬性的節點,可以使用例如//tbody/tr[@class]來選擇。那么不含某屬性的節點如何用xpath取得呢?

這里可以用到not。例如排除一個屬性的節點可以使用//tbody/tr[not(@class)]來寫,排除一個或者兩個屬性可以使用//tbody/tr[not(@class or @id)]來選擇。

css 選擇器

表達式 說明
* 選擇所有節點
# container 選擇id為container的節點
.container 選取所有class 包含container的節點
li a 選取所有li下的所有a節點 (子節點)
ul + p 選擇ul后面的第一個p元素(兄弟節點)
div#container > ul 選取id為container的div的第一個ul子元素
ul ~ p 選取與ul相鄰的所有p元素
a[title] 選取所有有title屬性的a元素
a[href="a.com"] 選取所有href屬性為a.com值的a元素
a[href*="a"] 選取所有href屬性包含a的a元素
a[href^="http"] 選取所有href屬性值以http開頭的a元素
a[href$=".jpg"] 選取所有href屬性值以.jpg結尾的a元素
inupt[type=radio]:checked 選取狀態為選中的radio元素
div:not(#container) 選取所有id不為container的div元素
li:nth-child(3) 選取第三個li元素
tr:nth-child(2n) 第偶數個tr元素


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM