目錄
一、獲取網(wǎng)頁中的指定元素
1、通過ID獲取元素
2、通過類名獲取元素
3、通過標簽名獲取元素
?二、在元素中輸入信息
三、總結
????????Selenium是一個強大的工具,用于自動化Web瀏覽器中的交互操作。在Python中,我們可以使用Selenium來獲取和操作網(wǎng)頁中的指定元素,本篇博客將介紹如何使用Selenium來實現(xiàn)這些操作,并提供實際示例。
一、獲取網(wǎng)頁中的指定元素
????????使用Selenium獲取網(wǎng)頁中的元素非常簡單,我們可以通過元素的ID、類名、標簽名等屬性來定位元素。
1、通過ID獲取元素
from selenium import webdriver
# 啟動瀏覽器
driver = webdriver.Chrome()
# 打開網(wǎng)頁
driver.get("https://example.com")
# 通過ID獲取元素
element = driver.find_element(by=By.ID_NAME,value="element_id")
2、通過類名獲取元素
from selenium import webdriver
# 啟動瀏覽器
driver = webdriver.Chrome()
# 打開網(wǎng)頁
driver.get("https://example.com")
# 通過name獲取元素
element = driver.find_element(by=By.NAME,value="element_name")
3、通過標簽名獲取元素
from selenium import webdriver
# 啟動瀏覽器
driver = webdriver.Chrome()
# 打開網(wǎng)頁
driver.get("https://example.com")
# 通過tag獲取元素
element = driver.find_element(by=By.TAG_NAME,value="element_name")
????????當然除此之外,我們還可以與網(wǎng)絡元素還可以有更多的交互,可以執(zhí)行多種操作以實現(xiàn)自動化測試和數(shù)據(jù)采集。以下是一些常見操作的代碼示例,幫助你更好地理解如何使用Selenium與網(wǎng)頁元素交互:?
1、點擊元素
from selenium import webdriver
driver = webdriver.Chrome()
driver.get("https://www.example.com")
button = driver.find_element_by_id("submit-button")
button.click()
2、輸入文本?
search_box = driver.find_element_by_name("q")
search_box.send_keys("selenium")
3、清除文本
search_box.clear()
4、獲取元素屬性
element = driver.find_element_by_id("my-element")
attribute_value = element.get_attribute("href")
5、獲取文本內(nèi)容
text = driver.find_element_by_id("header").text
6、判斷元素是否可見
visible = driver.find_element_by_id("hidden-element").is_displayed()
7、判斷元素是否啟用
enabled = driver.find_element_by_css_selector("input[type='text']").is_enabled()
8、判斷元素是否被選中(適用于復選框和單選框)
selected = driver.find_element_by_id("checkbox").is_selected()
9、提交表單
form = driver.find_element_by_id("login-form")
form.submit()
????????通過這些代碼示例,你可以看到如何使用Selenium對網(wǎng)頁元素進行點擊、輸入、清除、獲取信息以及其他判斷操作。這些基本操作是進行網(wǎng)頁自動化測試和數(shù)據(jù)抓取的關鍵步驟。
?二、在元素中輸入信息
????????獲取到元素后,我們可以使用send_keys()
方法向元素中輸入信息。
# 在元素中輸入信息
element.send_keys("Hello, World!")
????????比如我們在蘇寧易購官網(wǎng)中搜“華為Pura70”
from selenium import webdriver
from selenium.webdriver.chrome.options import Options
from selenium.webdriver.common.by import By
from selenium.webdriver.common.keys import Keys
import time
# 設置360瀏覽器路徑
chrome_options = Options()
chrome_options.binary_location = r"C:\Users\27892\AppData\Roaming\360se6\Application\360se.exe"
# 啟動瀏覽器
driver = webdriver.Chrome(options=chrome_options)
# 打開蘇寧易購網(wǎng)站
driver.get('https://www.suning.com/')
# 等待頁面加載完成
time.sleep(2)
# 定位搜索框并輸入“華為Pura70”
input_element = driver.find_element(By.ID, value='searchKeywords')
input_element.send_keys("華為Pura70")
# 模擬回車鍵
input_element.send_keys(Keys.RETURN)
運行以上代碼可讓我們自動進入蘇寧易購并輸入”華為Pura70“,則使用Keys.RETURN可模擬回車鍵,搜索相關物品。
Keys類是Selenium WebDriver中用于模擬鍵盤按鍵操作的類,它包含了許多常用鍵的定義。通過Keys類,您可以發(fā)送特定的按鍵或組合鍵到網(wǎng)頁元素,比如輸入框或文本區(qū)域。以下是Keys類中常用的鍵的定義:
1.Keys.NULL: 空字符
2.Keys.CANCEL: 取消鍵 (通常是 Control+Break)
3.Keys.HELP: 幫助鍵
4.Keys.BACK_SPACE: 退格鍵
5.Keys.TAB: 制表鍵
6.Keys.CLEAR: 清除鍵
7.Keys.RETURN: 回車鍵
8.Keys.ENTER: 回車鍵
9.Keys.SHIFT: Shift鍵
10.Keys.LEFT_SHIFT: 左Shift鍵
11.Keys.RIGHT_SHIFT: 右Shift鍵
12.Keys.CONTROL: Control鍵
13.Keys.LEFT_CONTROL: 左Control鍵
14.Keys.RIGHT_CONTROL: 右Control鍵
15.Keys.ALT: Alt鍵
16.Keys.LEFT_ALT: 左Alt鍵
17.Keys.RIGHT_ALT: 右Alt鍵
18.Keys.PAUSE: 暫停鍵
19.Keys.ESCAPE: Escape鍵
20.Keys.SPACE: 空格鍵
21.Keys.PAGE_UP: 頁面向上鍵
22.Keys.PAGE_DOWN: 頁面向下鍵
23.Keys.END: 結尾鍵
24.Keys.HOME: 起始鍵
25.Keys.LEFT: 方向鍵左
26.Keys.ARROW_LEFT: 箭頭鍵左
27.Keys.UP: 方向鍵上
28.Keys.ARROW_UP: 箭頭鍵上
29.Keys.RIGHT: 方向鍵右
30.Keys.ARROW_RIGHT: 箭頭鍵右
31.Keys.DOWN: 方向鍵下
32.Keys.ARROW_DOWN: 箭頭鍵下
33.Keys.INSERT: 插入鍵
34.Keys.DELETE: 刪除鍵
35.Keys.SEMICOLON: 分號鍵
36.Keys.EQUALS: 等于鍵
37.Keys.NUMPAD0 to Keys.NUMPAD9: 數(shù)字鍵盤0到9
38.Keys.MULTIPLY: 乘號鍵
39.Keys.ADD: 加號鍵
40.Keys.SUBTRACT: 減號鍵
41.Keys.DECIMAL: 小數(shù)點鍵
42.Keys.DIVIDE: 除號鍵
43.Keys.F1 to Keys.F12: F1到F12功能鍵
44.Keys.META: Meta鍵(在 Windows 上對應 Windows 鍵,在 macOS 上對應 Command 鍵)
這些鍵可以單獨使用,也可以與其他鍵組合使用,例如 Keys.CONTROL + 'a' 表示按下 Ctrl+A 鍵。在使用Selenium WebDriver時,可以根據(jù)需要選擇合適的鍵或鍵組合來模擬鍵盤操作。文章來源:http://www.zghlxwxcb.cn/news/detail-855731.html
三、總結
通過學習如何獲取和操作網(wǎng)頁中的元素,我們可以更加靈活地開發(fā)網(wǎng)頁和進行自動化測試。掌握這些技能對于任何前端開發(fā)者和測試工程師來說都是必不可少的。希望這篇博客能夠幫助您更好地理解如何獲取和操作網(wǎng)頁元素!文章來源地址http://www.zghlxwxcb.cn/news/detail-855731.html
到了這里,關于掌握Selenium魔法:獲取和操作網(wǎng)頁元素的完整指南的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網(wǎng)!