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

2022-07-03 11:06:10 字數 2268 閱讀 9370

表示式說明

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)]來選擇。

表示式說明

*選擇所有節點

# 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元素

選取所有href屬性值以http開頭的a元素

選取所有href屬性值以.jpg結尾的a元素

inupt[type=radio]:checked

選取狀態為選中的radio元素

div:not(#container)

選取所有id不為container的div元素

li:nth-child(3)

選取第三個li元素

tr:nth-child(2n)

第偶數個tr元素

爬蟲 css選擇器 和 xpath選擇器

ret soup.select my p ret soup.select body p 子子孫孫 ret soup.select body p 直接子節點 兒子 ret soup.select body p 0 text 直接子節點 兒子 xpath xpath 是一門在 xml 文件中查詢資訊的語...

爬蟲常用Xpath和CSS3選擇器對比

css是來配合html工作的,和xpath對比起來,css選擇器通常都比較短小,但是功能不夠強大。css中的空白符 和xpath的 都表示當前元素的所有後代 子孫 元素。對於元素 標籤 的操作,xpath和css基本上都能通過各自的語法達到相同的動作,並且爬蟲中使用的都是一些相對簡潔明瞭的操作。結果...

CSS常用選擇器

class 選擇器 選擇並設定 class intro 的元素的樣式 intro id選擇器 為 id firstname 的元素設定樣式 firstname 標籤選擇器 選擇並設定所有 元素的樣式 p並集選擇器 使用 逗號 連線兩個選擇器 選擇並設定所有 樣式和所有 元素的樣式 h1,p 後代選擇...