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)