Python selenium模組實現定位過程解析
阿新 • • 發佈:2020-07-10
selenuim模組定位方法
1,我們想要操作html頁面上的元素,首先必須要定位到這個元素上。每個元素都有他各自的屬性,比如id,name,class等,我們就通過這些屬性來定位元素。
2,我們先開啟一個網頁,按F12來獲取這個網頁的原始碼,方便我們定位元素。
from selenium import webdriver driver=webdriver.Chrome() #啟動谷歌瀏覽器 driver.get("http://www.baidu.com") #開啟百度網頁
3,按F12我們獲取到元素,滑鼠點選圖片紅框中的標,然後把滑鼠放到你想要獲取的元素位置,然後右邊程式碼會自動定位。
定位方法詳解
1.用id定位
我們可以看到右邊程式碼元素id為kw。
from selenium import webdriver driver=webdriver.Chrome() driver.get("http://www.baidu.com") s=driver.find_element_by_id('kw') #定位到id等於kw的元素(百度搜索框) s.send_keys('您好') #在搜尋框內輸入你好
2.用name來定位
#程式碼同上
driver.find_element_by_name('wd') #定位name為wd的元素
3.用classname來定位
#程式碼同上
driver.find_element_by_class_name('s_ipt') #通過類名定位,一般類名有重複的,不常使用
4.用標籤來定位
#程式碼同上
driver.find_element_by_tag_name('tag') #標籤定位,不常使用
5.定位a標籤。
#程式碼同上 driver.find_element_by_link_text('text') #定位a標籤的內容完全匹配 driver.find_element_by_partical_link_text('text') #定位a標籤內容模糊匹配
6.通過路徑來定位,常用相對路徑。
driver.find_element_by_xpath(//*[@id="kw"]) #相對路徑定位注意:
html中,大多數的元素都具備id和name的屬性,並且id是唯一的,因此用id和name來定位元素是比較常見的方式。 不過有的元素並不具備id和name屬性,我們則可以用class name來定位元素。當然我還可以用tag name來定位,但是標籤名字太容易重複,除非想定位一組相同標籤的元素,否則一般不推薦使用
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支援我們。