溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

Selenium 定位元素的8種方法介紹

發(fā)布時(shí)間:2020-06-29 07:04:25 來(lái)源:網(wǎng)絡(luò) 閱讀:1105 作者:低調(diào)的男孩 欄目:系統(tǒng)運(yùn)維

簡(jiǎn)介

我們?cè)谧鰓eb自動(dòng)化測(cè)試時(shí),最根本的就是操作頁(yè)面上的元素,首先我們要能找到這些元素,然后才能操作這些元素。工具或代碼無(wú)法像我們測(cè)試人員一樣用肉眼來(lái)分辨頁(yè)面上的元素。所以我們依據(jù)元素來(lái)定位它們。

一、查看頁(yè)面元素

用谷歌瀏覽器打開(kāi)百度首頁(yè)(按鍵F12),或者點(diǎn)擊右上角>更多工具>開(kāi)發(fā)者工具,就可以看到整個(gè)頁(yè)面的html代碼了

二、方法介紹

1.id定位: find_element_by_id()

from selenium import webdriver
import time
driver = webdriver.Chrome()
#Windows窗口最大化
driver.maximize_window()
driver.get("https://www.baidu.com/")
driver.find_element_by_id("kw").send_keys("python")

Selenium 定位元素的8種方法介紹
Selenium 定位元素的8種方法介紹

2.name定位: find_element_by_name()

driver.find_element_by_name("wd").send_keys("python")

Selenium 定位元素的8種方法介紹

3.class定位:find_element_by_class_name()

driver.find_element_by_class_name('s_ipt').send_keys("python")

Selenium 定位元素的8種方法介紹

4.tag定位:find_element_by_tag_name()

driver.find_element_by_tag_name('body').get_attribute("class")

Selenium 定位元素的8種方法介紹

5.link定位:find_element_by_link_text()

driver.find_element_by_link_text('地圖').click()

Selenium 定位元素的8種方法介紹
Selenium 定位元素的8種方法介紹

6.partial_link定位:find_element_by_partial_link_text()

driver.find_element_by_partial_link_text('hao1').click()

Selenium 定位元素的8種方法介紹

7.xpath定位:find_element_by_xpath()

driver.find_element_by_xpath('//*[@id="kw"]').send_keys("python")

Selenium 定位元素的8種方法介紹

8.CSS定位:find_element_by_css_selector()

driver.find_element_by_css_selector('#kw').send_keys("python")

Selenium 定位元素的8種方法介紹
Selenium 定位元素的8種方法介紹

定位方法選擇

1.選擇簡(jiǎn)單,穩(wěn)定的定位方法。
2..常用的方法是定位 id, name, class_name, xpath,css_selector 。
3.當(dāng)頁(yè)面元素有 id屬性的時(shí)候,盡量使用 id來(lái)定位。沒(méi)有的話,再選擇其他定位方法(實(shí)測(cè)id元素也不唯一)。
4.css_selector 執(zhí)行速度快,推薦使用。
5.定位超鏈接的時(shí)候,可以考慮 linkText或 partialLinkText:但是要注意的是,文本經(jīng)常發(fā)生改變,所以不推薦用。
6.xpath 功能最強(qiáng)悍。但是執(zhí)行速度慢,因?yàn)樾枰檎艺麄€(gè)DOM, 所以盡量少用。實(shí)在沒(méi)有辦法的時(shí)候,才使用 xpath。
7.定位xpath, css_selector這些元素,可以通過(guò)鼠標(biāo)右鍵復(fù)制,這樣不會(huì)出錯(cuò)。

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI