Selenium CSS 選擇器簡介

2021-08-15 09:47:05 字數 3283 閱讀 3755

首先何為css, css指層疊樣式表(cascading style sheets)用來告訴瀏覽器如何顯示html元素,它的基礎語法為: selector ,selector即選擇器用來定位元素,定義哪些元素需要套用之後的樣式。property為屬性表示要套用哪些樣式,value就是樣式的具體值。 而這裡的selector就是今天的主角。在w3school的教程中將選擇器分成了各個種類,例如id選擇器,屬性選擇器,在selenium的實際運用中都是混合起來才能定位,所以先上語法定義,然後具體舉例幫助理解。

選擇器

例子

例子描述

.class

.intro 選擇

class="intro"

的所有元素。

#id#firstname 選擇

id="firstname"

的所有元素。 *

*選擇所有元素。

elementp

選擇所有

元素。

element

,element

div,p

選擇所有

元素和所有

元素。

element

element

div p 選擇

元素內部的所有

元素。

element 選擇器" rel="noopener noreferrer">element

>element

div>p

選擇父元素為

元素的所有

元素。

element

+element

div+p

選擇緊接在

元素之後的所有

元素。

[attribute]

[target]

選擇帶有

target

屬性所有元素。

[attribute=value]

[target=_blank] 選擇

target="_blank"

的所有元素。

[attribute~=value]

[title~=flower] 選擇

title

屬性包含單詞

"flower"

的所有元素。

element1

~element2

p~ul

選擇前面有

元素的每個

元素。

選擇其src

屬性值以

開頭的每個

元素。

[attribute$=value]

a[src$=".pdf"]

選擇其src

屬性以".pdf"

結尾的所有

元素。

[attribute*=value]

a[src*="abc"]

選擇其src

屬性中包含

"abc"

子串的每個

元素。

:first-of-type

p:first-of-type

選擇屬於其父元素的首個

元素的每個

元素。

:last-of-type

p:last-of-type

選擇屬於其父元素的最後

元素的每個

元素。

:only-of-type

p:only-of-type

選擇屬於其父元素唯一的

元素的每個

元素。

:only-child

p:only-child

選擇屬於其父元素的唯一子元素的每個

元素。

:nth-child(n)

p:nth-child(2)

選擇屬於其父元素的第二個子元素的每個

元素。

:nth-last-child(n)

p:nth-last-child(2)

同上,從最後乙個子元素開始計數。

:nth-of-type(n)

p:nth-of-type(2)

選擇屬於其父元素第二個

元素的每個

元素。

:nth-last-of-type(n)

p:nth-last-of-type(2)

同上,但是從最後乙個子元素開始計數。

:last-child

p:last-child

選擇屬於其父元素最後乙個子元素每個

元素。

:root

:root

選擇文件的根元素。

:empty

p:empty

選擇沒有子元素的每個

元素(包括文字節點)。

:not(selector)

:not(p)

選擇非元素的每個元素。

舉例:p.content: 選擇所有class為content的元素,也可以寫成p[class="content"]

div#id1>p.content:在id為id1的div的子元素中選在所有class為content的元素

input[class='btn'][type='submit']: 選擇所有class為btn且type為submit的所有元素

第1個p

第2個p

第1個span

第3個p

第2個span

假設要選中第乙個span,那麼以下兩個寫法都可以

span:nth-of-type(1): 在同級的兄弟元素中選擇第乙個span元素

span:nth-of-child(3): 選擇作為第三個子元素,且是span的元素

這裡有個問題, p:nth-child(3)會找到哪個元素呢?答案是沒有。在這段html中第三個子元素是span不是p,所以不會找到任何元素。而span:nth-of-type(2)會匹配到第二個span元素。相信能夠理解nth-of-type和nth-of-child的用法了。

p1

p2p3

p4p5

p+p: 會選擇到p2, p5,表示同級元素中所有緊跟在p後面的p元素

p~p: 會選擇到p2,p3,p4,p5, 表示同級元素中所有前面有p元素的p元素

這裡把常用的以及幾個比較容易混淆難懂的語法用例子解釋了一下,希望看了之後能對css選擇器有個大致的了解

jQuery選擇器之全選擇器( 選擇器)

在css中,經常會在第一行寫下這樣一段樣式 萬用字元 意味著給所有的元素設定預設的邊距。jquery中我們也可以通過傳遞 選擇器來選中文件頁面中的元素 描述 拋開jquery,如果要獲取文件中所有的元素,通過document.getelementsbytagname 中傳遞 同樣可以獲取到 不難發現...

jQuery選擇器之全選擇器(選擇器)

jquery選擇器之全選擇器 選擇器 在css中,經常會在第一行寫下這樣一段樣式 萬用字元 意味著給所有的元素設定預設的邊距。jquery中我們也可以通過傳遞 選擇器來選中文件頁面中的元素 描述 拋開jquery,如果要獲取文件中所有的元素,通過document.getelementsbytagna...

Css選擇器 層次選擇器(關係選擇器)

1.e f 匹配 e 元素下所有的子元素 f 後代選擇器 eg css.box a匹配 box 下所有的子元素 a 2.e f 匹配 e 元素下第一級子元素 f 子選擇器 eg css.box a匹配 box 下第一級子元素 a 3.e f 匹配 e 元素後面緊鄰的哪乙個 f 元素 有且僅有乙個 相...