Selenium 八種定位方法


前言

要想操作 Web 界面上的元素,首先要定位到該元素,Selenium 提供了定位元素的 API,這些方法都被定義在 WebDriver 類中,這些方法都以 find 開頭,下面我們以百度首頁為例來看一下八種定位方法。

打開百度首頁,定位到搜索框,右鍵->檢查,查看搜索框元素。

通過元素 id 定位

方法名稱:find_element_by_id

from selenium import webdriver
import time

# 加載瀏覽器驅動
driver = webdriver.Chrome()

# 訪問百度
driver.get("https://www.baidu.com")

# 通過元素 id 定位
driver.find_element_by_id("kw").send_keys("selenium")

# 定位搜索按鈕並點擊
driver.find_element_by_id("su").click()

time.sleep(3)

# 退出瀏覽器
driver.quit()

通過元素 name 定位

方法名稱:find_element_by_name

from selenium import webdriver
import time

# 加載瀏覽器驅動
driver = webdriver.Chrome()

# 訪問百度
driver.get("https://www.baidu.com")

# 通過元素 name 定位
driver.find_element_by_name("wd").send_keys("selenium")

# 定位搜索按鈕並點擊
driver.find_element_by_id("su").click()

time.sleep(3)

# 退出瀏覽器
driver.quit()

通過元素 class 定位

方法名稱:find_element_by_class_name

from selenium import webdriver
import time

# 加載瀏覽器驅動
driver = webdriver.Chrome()

# 訪問百度
driver.get("https://www.baidu.com")

# 通過元素 class 定位
driver.find_element_by_class_name("s_ipt").send_keys("selenium")

# 定位搜索按鈕並點擊
driver.find_element_by_id("su").click()

time.sleep(3)

# 退出瀏覽器
driver.quit()

通過元素 tag 定位

方法名稱:find_element_by_tag_name,tap 名稱相同的太多了,一般不會用這個方法。

通過鏈接文本定位

方法名稱:find_element_by_link_text,精確匹配。

from selenium import webdriver
import time

# 加載瀏覽器驅動
driver = webdriver.Chrome()

# 訪問百度
driver.get("https://www.baidu.com")

# 通過鏈接文本定位
driver.find_element_by_link_text("hao123").click()

time.sleep(3)

# 退出瀏覽器
driver.quit()

通過部分鏈接文本定位

方法名稱:find_element_by_partial_link_text,模糊匹配。

from selenium import webdriver
import time

# 加載瀏覽器驅動
driver = webdriver.Chrome()

# 訪問百度
driver.get("https://www.baidu.com")

# 通過部分鏈接文本定位
driver.find_element_by_partial_link_text("hao").click()

time.sleep(3)

# 退出瀏覽器
driver.quit()

通過 css 選擇器定位

方法名稱:find_element_by_css_selector,需要重點掌握。

from selenium import webdriver
import time

# 加載瀏覽器驅動
driver = webdriver.Chrome()

# 訪問百度
driver.get("https://www.baidu.com")

# 通過 css 選擇器定位
driver.find_element_by_css_selector("#kw").send_keys("selenium")

# 定位搜索按鈕並點擊
driver.find_element_by_id("su").click()

time.sleep(3)

# 退出瀏覽器
driver.quit()

通過 xpath 定位

方法名稱:find_element_by_xpath,需要重點掌握。

from selenium import webdriver
import time

# 加載瀏覽器驅動
driver = webdriver.Chrome()

# 訪問百度
driver.get("https://www.baidu.com")

# 通過 xpath 定位
driver.find_element_by_xpath("//*[@id='kw']").send_keys("selenium")

# 定位搜索按鈕並點擊
driver.find_element_by_id("su").click()

time.sleep(3)

# 退出瀏覽器
driver.quit()


免責聲明!

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



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