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

簡介

我們在做web自動化測試時,最根本的就是操作頁面上的元素,首先我們要能找到這些元素,然後才能操作這些元素。工具或代碼無法像我們測試人員一樣用肉眼來分辨頁面上的元素。所以我們依據元素來定位它們。

一、查看頁面元素

用谷歌瀏覽器打開百度首頁(按鍵F12),或者點擊右上角>更多工具>開發者工具,就可以看到整個頁面的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.選擇簡單,穩定的定位方法。
2..常用的方法是定位 id, name, class_name, xpath,css_selector 。
3.當頁面元素有 id屬性的時候,儘量使用 id來定位。沒有的話,再選擇其他定位方法(實測id元素也不唯一)。
4.css_selector 執行速度快,推薦使用。
5.定位超鏈接的時候,可以考慮 linkText或 partialLinkText:但是要注意的是,文本經常發生改變,所以不推薦用。
6.xpath 功能最強悍。但是執行速度慢,因爲需要查找整個DOM, 所以儘量少用。實在沒有辦法的時候,才使用 xpath。
7.定位xpath, css_selector這些元素,可以通過鼠標右鍵複製,這樣不會出錯。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章