Web UI自動化測試基礎——元素定位(一)


本篇文章整理了元素定位的基礎知識——單個元素定位方式

一、單個元素定位方式簡介

1. find_element_by_id

  通過元素的id屬性進行定位。以百度首頁為例,首先進入https://www.baidu.com,按F12進入開發人員頁面,然后單擊調試窗口的左上角的選擇圖標,然后選中百度搜索框,即可看到調試窗口對應所選元素的代碼突出顯示,如下圖,可以看到百度搜索框的id為kw。

圖1

2. find_element_by_name

  通過元素的name屬性進行定位。如上圖,百度搜索框的name為wd。

3. find_element_by_class_name

  通過元素的class屬性進行定位。如圖1所示,百度搜索框的class_name為s_ipt。

4. find_element_by_link_text

  通過超鏈接的文本內容進行定位。

5. find_element_by_partial_link_text

  同4,不過該方法是通過模糊方式進行定位的,即通過超鏈接的部分文本內容進行定位。

6. find_element_by_xpath

  通過元素的xpath路徑表達式進行定位。如下圖,選中突出顯示的代碼右鍵選擇copy,選擇復制元素的xpath,百度搜索框對應的xpath為//*[@id="kw"]。

圖2

7. find_element_by_css_selector

  通過css選擇器對元素進行定位。如上圖,復制元素的selector,百度搜索框的css_selector為#kw。

8. find_element_by_tag_name

  通過元素的標簽名進行定位。因為同一個頁面中具有相同標簽名的元素較多,所以不常用。

二、實例

 1 # coding=utf-8
 2 
 3 import time
 4 
 5 from selenium import webdriver
 6 
 7 # 單個元素的多種定位方式
 8 
 9 # 創建driver實例
10 driver = webdriver.Chrome()
11 # 打開百度首頁
12 driver.get('https://www.baidu.com/')
13 # 1.通過id屬性進行定位
14 # driver.find_element_by_id('kw').send_keys('id')
15 # 2.通過name屬性進行定位
16 # driver.find_element_by_name('wd').send_keys('name')
17 # 3.通過class屬性進行定位
18 # driver.find_element_by_class_name('s_ipt').send_keys('class_name')
19 # 4.通過link_text進行定位
20 # driver.find_element_by_link_text('新聞').click()
21 # 5.通過部分超鏈接文本內容進行定位
22 # driver.find_element_by_partial_link_text('聞').click()
23 # 6.通過xpath進行定位
24 # driver.find_element_by_xpath('//*[@id="kw"]').send_keys('xpath')
25 # 7.通過css選擇器進行定位
26 driver.find_element_by_css_selector('#kw').send_keys('css_selector')
27 # 定位'百度一下'按鈕並點擊
28 driver.find_element_by_id('su').click()
29 # 等待5s
30 time.sleep(5)
31 # 退出驅動程序並關閉瀏覽器
32 driver.quit()
View Code

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM