1. 程式人生 > >selenium元素定位

selenium元素定位

div partial xxx 頂部 text inpu 運算 信息 _id

find_element_by_id

html中id=‘xxxx’,頁面中id是唯一的

find_element_by_name

html中name=’xxxx’

可以有多個,如果出現多個,使用find_elements

find_element_by_xpath

通過xpath信息

使用xpath定位起始

//開始表示從html頂部開始

./表示從當前位置開始往後查找

通過元素屬性定位

可以通過元素的id,class,name,type等全部屬性定位

Driver.find_element_by_xpath(“//div[@屬性名=‘value’]”)

其中div標簽可以具體的寫明,也可以使用*代替

Xpath的層次

按照dom樹的先後寫出xpath的層次,可以通過索引來定位具體的一個元素

Driver.find_element_by_xpath(“//*[@id=’aa’]/option[1]”)表示獲取第二個元素

Xpath的邏輯運算

在使用屬性的時候可以使用邏輯運算具體定位元素,支持與(and),或(or),非(not)

Driver.find_element_by_xpath(“//*[@class=’aa’ and @type=‘input’]”)

Xpath的模糊匹配

Xpath可以通過對屬性進行模糊匹配進行定位

使用關鍵字contains模糊匹配

Driver.find_elements_by_xpath(“//*[contains(text(),’hao’)]”)

該語句表示查找所有包含text為hao的元素

使用starts-with匹配以什麽開頭

Driver.find_element_by_xpath(“//*[starts-with(@id,’kw’)]”)

表示查找id以kw開始的元素

使用ends-with匹配以什麽結束

Driver.find_element_by_xpath(“//*[ends-with(@class,’kw’)]”)

表示查找class以kw結束的元素

使用matchs關鍵字匹配正則表達式

Driver.find_element_by_xpath(“//*[matchs(@class,’kw’)]”)

表示查找匹配整個表達式的元素

find_element_by_link_text

linktext信息

find_element_by_partial_link_text

partial為部分的意思,需要選擇一個比較唯一的字段來區分這個元素

find_element_by_tag_name

通過tag的名稱查找

find_element_by_class_name

通過class名稱查找

find_element_by_css_selector

通過css選擇器查找

selenium元素定位