一、selenium安裝
pip3 install selenium
二、安裝瀏覽器驅(qū)動
1:下載最新的瀏覽器驅(qū)動
chrome瀏覽器驅(qū)動下載地址:
https://registry.npmmirror.com/binary.html?path=chromedriver/
查看自己電腦上安裝的chrome瀏覽器版本號,驅(qū)動和瀏覽器版本號需對應(yīng)。
查看自己電腦瀏覽器的版本號:
?
進入驅(qū)動下載地址,下載驅(qū)動;
比如我的谷歌版本是113.0.5672.126,我下載對應(yīng)的chromedriver的版本是113.0.5672.63,
點擊進去之后,如果你是windows系統(tǒng)就選win32這個,蘋果的系統(tǒng)就選相對應(yīng)的下載就行了。
查看驅(qū)動的版本號:
?
2、安裝
解壓下載的驅(qū)動文件放入/user/local/bin下
3:測試安裝成功
寫一個簡單的selenium腳本進行驗證
from selenium import webdriver
driver = webdriver.Chrome()
driver.get('http://www.baidu.com')
能成功打開瀏覽器并進入百度首頁,即為安裝成功。
三、元素定位方式
元素定位方式分為八大元素定位
以百度一下為例
1:通過id進行定位
定位輸入框,并輸入內(nèi)容,獲取輸入框的id屬性的值。
?
?定位:
# 通過id來定位
ele = driver.find_element('id', 'kw') # 定位元素
ele.send_keys('測試') # 輸入內(nèi)容
2:通過name定位
定位百度輸入框,獲取name屬性的值
?
?定位:
# 通過name來定位
ele = driver.find_element('name', 'wd')
ele.send_keys('通過name定位')
3:通過class_name定位
定位“換一換”按鈕,并且進行點擊操作
定位:
注意:定位方式的class name中間是個空格
# 通過class_name來定位
ele = driver.find_element('class name', 'hot-refresh-text')
ele.click() # 點擊操作
?4:通過link_text定位
通過超鏈接的文本進行定位
定位“新聞”,并進行點擊操作
?
定位:
# 通過link_text來定位
ele = driver.find_element('link text', '新聞')
ele.click()
5:通過partial_link_text定位
使用場景:超鏈接的文本超長,可以只輸入部分文本
定位“hao123”
定位:
# 通過partial_link_text定位
ele = driver.find_element('partial link text', 'hao')
ele.click()
6:通過tag_name定位
使用標(biāo)簽進行定位,一般標(biāo)簽都是有多個的,此時可以使用find_elements進行查找,查找的結(jié)果是一個列表。
例如:定位標(biāo)簽<a>
# 通過tag_name來定位
eles = driver.find_elements('tag name', 'a')
print(len(eles), eles)
# 點擊第5個a標(biāo)簽
eles[4].click()
?7:通過xpath定位
在F12中復(fù)制要定位元素的路徑
定位百度輸入框:
定位:
# 通過xpath來定位
ele = driver.find_element('xpath', '/html/body/div[1]/div[1]/div[5]/div/div/form/span[1]/input')
ele.send_keys('xpath')
8:通過css進行定位
定位百度輸入框
定位:
# 通過css來定位
ele = driver.find_element('css selector', '#kw')
ele.send_keys('css')
在輸入定位方式時,可以導(dǎo)入By方法,可以防止輸入定位方式拼寫錯誤。文章來源:http://www.zghlxwxcb.cn/news/detail-498204.html
from selenium.webdriver.common.by import By
文章來源地址http://www.zghlxwxcb.cn/news/detail-498204.html
ele = driver.find_element(By.ID, 'kw')
ele.send_keys('測試')
到了這里,關(guān)于selenium之元素定位的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!