使用cssselector來定位頁面中的元素,是經常使用的方式,本文列出典型的使用方法。
1. 根據 標籤定位 tagname(定位的是一組,多個元素)
e.g:find_element_by_cssselector("div")
2. 根據 id屬性定位(注意id使用#表示)
e.g: find_element_by_cssselector("#eleid")
e.g: find_element_by_cssselector("div#eleid")
3. 根據classname屬性定位(注意class屬性使用.)
e.g: find_element_by_cssselector("div.eleclass")
4. 根據元素屬性定位
4.1 精確匹配:
e.g: find_element_by_cssselector("div[name=elename]") #屬性名=屬性值,精確值匹配
e.g: find_element_by_cssselector("a[href]") #是否存在該屬性,判斷a元素是否存在href屬性
注意:如果class屬性值裡帶空格,用.來代替空格
4.2 模糊匹配
e.g: find_element_by_cssselector("div[name^=elename]") #從起始位置開始匹配
e.g: find_element_by_cssselector("div[name$=name2]") #從結尾匹配
e.g: find_element_by_cssselector("div[name*=name1]") #從中間匹配,包含
4.3 多屬性匹配
e.g: find_element_by_cssselector("div[type='eletype][value='elevalue']") #同時有多屬性
e.g: find_element_by_cssselector("div.eleclsss[name='namevalue'] #選擇class屬性為eleclass並且name為namevalue的div節點
e.g: find_element_by_cssselector("div[name='elename'][type='eletype']:nth-of-type(1) #選擇name為elename並且type為eletype的第1個div節點
5. 定位子元素 (a>b)
e.g: find_element_by_cssselector("div#eleid>input") #選擇id為eleid的div下的所有input節點
e.g: find_element_by_cssselector("div#eleid>input:nth-of-type(4) #選擇id為eleid的div下的第4個input節點
e.g: find_element_by_cssselector("div#eleid>nth-child(1)") #選擇id為eleid的div下的第乙個子節點
6. 定位後代元素 (a空格b)
e.g: find_element_by_cssselector("div#eleid input") #選擇id為eleid的div下的所有的子孫後代的 input 節點
e.g: find_element_by_cssselector("div#eleid>input:nth-of-type(4)+label #選擇id為eleid的div下的第4個input節點的相鄰的label節點
e.g: find_element_by_cssselector("div#eleid>input:nth-of-type(4)~label #選擇id為eleid的div下的第4個input節點之後中的所有label節點
7. 不為
e.g: find_element_by_cssselector("div#eleid>*.not(input)") #選擇id為eleid的div下的子節點中不為input 的所有子節點
e.g: find_element_by_cssselector("div:not([type='eletype'])") #選擇div節點中type不為eletype的所有節點
8. 包含bycontent
e.g: find_element_by_cssselector("li:contains('goa')") # goat
e.g: find_element_by_cssselector("li:not(contains('goa'))) # cat
9. by index
e.g: find_element_by_cssselector("li:nth(5)")
cssselector元素定位
cssselector也是一種常用的選擇器,css locator比xpath locator速度快,用css selector能非常精準的定位到想測試的elements 表示id 表示class 表示子元素,層級 乙個空格也表示乙個子元素,但是所有的子元素相當於xpath中的相對路徑 input ...
定位方法之css selector定位
1.css層疊樣式表,修飾html或xml的檔案樣式,css裡包含selector選擇器的技術,可以選擇介面上的元素 也就是我們所說的定位元素 可以像xpath一樣描述元素的特徵或路徑。優點是比xpath定位元素速度更快 更簡潔短小,缺點是功能沒有xpath強大,不能向前查詢。css定位和xpath...
Web元素定位之CSS Selector
target css 3 xpath 所有元素 所有的p元素 p p 所有的p元素的子元素 p p 根據id獲取元素 轉義 id id id 根據class獲取元素 class contains class,class 擁有某個屬性的元素 title title 所有p元素的第乙個子元素 p fir...