Python+Selenium自動(dòng)化學(xué)習(xí)——定位元素

查看網(wǎng)頁頁面代碼可以使用以下途徑:

Chrome:按F12或者網(wǎng)頁頁面右鍵的“檢查”??????????? Firefox:網(wǎng)頁頁面右鍵的“審查元素”


1.通過id屬性來定位元素(id屬性在html文檔中必須具有唯一性)

?? find_element_by_id()方法

?? 文本輸入框定位:find_element_by_id('kw')


2.通過name屬性來定位元素(name屬性在當(dāng)前頁面中)

?? find_element_by_name()方法

?? 文本輸入框定位:find_element_by_name('wd')


3.通過class屬性來定位元素

?? find_element_by_class_name()方法

?? 文本輸入框定位:find_element_by_class_name('s_ipt')


4.通過tag來定位元素

?? find_element_by_tag_name()方法???????? 沒成功!?。。÷赃^....................


5.通過link元素標(biāo)簽對(duì)之間的文本信息來定位元素

?? find_element_by_link_text()方法


6.通過partial link定位元素,和link類似,只不過是部分文本信息來進(jìn)行定位

?? find_element_by_partial_link_text()方法


7.find_element_by_xpath()方法

?? 7.1絕對(duì)路徑來定位:find_element_by_xpath('/html/body/.........')???

?? 文本框:find_element_by_xpath("/html/body/div[2]/div[1]/div/div[1]/div/form/span[1]/input")

?? 7.2通過屬性定位元素

?? find_element_by_xpath("http://標(biāo)簽名[@屬性=‘屬性值’]")

?? id屬性:find_element_by_xpath("http://input[@id = 'kw']")

?? name屬性:find_element_by_xpath("http://input[@name = 'wd']")

?? 如果不想指定標(biāo)簽名,可以將標(biāo)簽名用 * 代替,xpath不局限于id、name、class這三個(gè)屬值, 元素的任意屬性都可以使用,只要它能唯一標(biāo)識(shí)一個(gè)元素

?? 7.3通過標(biāo)簽定位元素

?? 當(dāng)元素沒有唯一標(biāo)識(shí)的屬性可以利用時(shí),可以往上層級(jí)進(jìn)行搜索,假如標(biāo)簽中有唯一標(biāo)識(shí),那 么可以利用標(biāo)簽名來進(jìn)行定位

?? find_element_by_xpath("http://span[@class = 'bg s_ipt_wr']/input")

?? 7.4通過多個(gè)屬性組合定位元素

?? 當(dāng)一個(gè)屬性不能唯一區(qū)分一個(gè)元素,可以用邏輯運(yùn)算符and來連接多個(gè)屬性查找元素

?? find_element_by_xpath("http://input[@id = 'kw' and @name = 'wd']")



8.通過CSS定位元素

?? 8.1通過id屬性定位元素

?? 文本框:find_element_by_css_selector("#kw")

?? 按鈕:find_element_by_css_selector("#su")

?? 8.2通過class屬性定位元素

?? 文本框:find_element_by_css_selector(".s_ipt")

?? 按鈕:find_element_by_css_selector(".bg s_btn")

?? 8.3通過其他屬性值來定位元素

?? 文本框:find_element_by_css_selector("[name = 'wd']")

?????????????????? find_element_by_css_selector("[maxlength = 255]")

? ? ? ? ? ? ? ? ?? find_element_by_css_selector("[autocomplete = 'off']")

?? 8.4通過層級(jí)父子關(guān)系來定位元素

?? 文本框:find_element_by_css_selector("span > input ")

?? 拓展:find_element_by_css_selector("span > input.s_ipt")






最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容