Python知識(shí)分享網(wǎng) - 專業(yè)的Python學(xué)習(xí)網(wǎng)站 學(xué)Python,上Python222
Python selenium元素的定位
匿名網(wǎng)友發(fā)布于:2023-10-29 21:02:29
(侵權(quán)舉報(bào))

2024 一天掌握python爬蟲【基礎(chǔ)篇】 涵蓋 requests、beautifulsoup、selenium

https://www.bilibili.com/video/BV1Ju4y1Y7k6/

 

對(duì)象的定位應(yīng)該是自動(dòng)化測(cè)試的核心,要想操作一個(gè)對(duì)象,首先應(yīng)該識(shí)別這個(gè)對(duì)象。一個(gè)對(duì)象就是一個(gè)人一樣,他 會(huì)有各種的特征(屬性),如比我們可以通過(guò)一個(gè)人的身份證號(hào),姓名,或者他住在哪個(gè)街道、樓層、門牌找到這 個(gè)人。

那么一個(gè)對(duì)象也有類似的屬性,我們可以通過(guò)這個(gè)屬性找到這對(duì)象。

注意:不管用那種方式,必須保證頁(yè)面上該屬性的唯一性

webdriver 提供了一系列的對(duì)象定位方法,常用的有以下幾種

id 通過(guò)標(biāo)簽id定位

name 通過(guò)標(biāo)簽name定位

class name 通過(guò)標(biāo)簽class定位

link text 通過(guò)超鏈接文本定位

partial link text 通過(guò)超鏈接文本(模糊匹配)定位

tag name 通過(guò)標(biāo)簽名定位

xpath 通過(guò)xpath方式定位

css selector 通過(guò)css選擇器方式定位

 

webdriver提供了兩個(gè)方法查詢?cè)?/p>

find_element (查詢第一個(gè)匹配元素) 和find_elements(查詢所有匹配元素)

參考代碼:

import time

from selenium import webdriver
from selenium.webdriver.common.by import By

# 創(chuàng)建瀏覽器操作對(duì)象
browser = webdriver.Chrome()
url = "https://www.baidu.com/"

browser.get(url)

# 元素定位

# 根據(jù)id查找對(duì)象
button = browser.find_element(By.ID, 'su')

print(button)

# 根據(jù)標(biāo)簽名查找
e1 = browser.find_element(By.TAG_NAME, 'input')
print("e1", e1)

# 根據(jù)標(biāo)簽的name屬性值查找
e2 = browser.find_elements(By.NAME, "wd")
print("e2", e2)

# 根據(jù)xpath查找
e3 = browser.find_elements(By.XPATH, '//input[@id="su"]')
print("e3", e3)

# 使用css選擇器方式查找
e4 = browser.find_element(By.CSS_SELECTOR, ".s_ipt")
e5 = browser.find_element(By.CSS_SELECTOR, "#su")
print("e4", e4)
print("e5", e5)

# 使用鏈接文本查找
e6 = browser.find_element(By.LINK_TEXT, "新聞")
e7 = browser.find_elements(By.PARTIAL_LINK_TEXT, "新")
print("e6", e6)
print("e7", e7)

# 使用樣式名稱查找
e8 = browser.find_element(By.CLASS_NAME, "s_ipt")
print("e8", e8)

 

轉(zhuǎn)載自: