(四)selenium 元素_鼠標_鍵盤_下拉框 等操作方法


一、常用方法介紹

基礎方法

方法 作用
click() 單擊元素,點一下放開
send_keys (value) 模擬按鍵輸入。
clear() 清除文本
submit() 提交表單。 例如, 在搜索框輸入關鍵字之后的“回車” 操作, 就可以通過該方法模擬,有時候 submit()可以與 click()方法互換來使用, submit()同樣可以提交一個按鈕, 但 submit()的應用范圍遠不及 click()廣泛。

元素判斷

方法 作用
get_attribute(name) 獲得屬性值。
is_enabled() 判斷一個元素是否可以操作 是:True ,否:False
is_selected() 判斷元素是否被選中
is_displayed() 元素是否用戶可見

鼠標事件

在 WebDriver 中, 將這些關於鼠標操作的方法封裝在 ActionChains 類提供。

方法 作用
context_click() 右擊
double_click() 雙擊
drag_and_drop(source, target) 鼠標拖動,
move_to_element() 鼠標懸停
perform() 執行所有 ActionChains 中存儲的行為

from selenium import webdriver
from selenium.webdriver.common.action_chains import ActionChains
from time import sleep



# 啟動瀏覽器
driver = webdriver.Chrome(executable_path="D:\\drivers\\chromedriver.exe")

# 打開百度網頁
driver.get("http://www.baidu.com/")

driver.maximize_window()

driver.find_element_by_css_selector("#kw").send_keys("python")

element = driver.find_element_by_css_selector("#kw")
sleep(3)

# 雙擊操作
ActionChains(driver).double_click(element).perform()

sleep(3)
# 右擊操作
ActionChains(driver).context_click(element).perform()

sleep(3)

# 鼠標懸停
above = driver.find_element_by_css_selector(".pf")
ActionChains(driver).move_to_element(above).perform()


sleep(4)
driver.quit()

鍵盤事件

Keys()類提供了鍵盤上幾乎所有按鍵的方法。 前面了解到, send_keys()方法可以用來模擬鍵盤輸入, 除此 之外, 我們還可以用它來輸入鍵盤上的按鍵, 甚至是組合鍵, 如 Ctrl+A、 Ctrl+C 等。

方法 作用
send_keys(Keys.BACK_SPACE) 刪除鍵(BackSpace)
send_keys(Keys.SPACE) 空格鍵(Space)
send_keys(Keys.TAB) 制表鍵(Tab)
send_keys(Keys.ESCAPE) 回退鍵(Esc)
send_keys(Keys.ENTER) 回車鍵(Enter)
send_keys(Keys.CONTROL,'a') 全選(Ctrl+A)
send_keys(Keys.CONTROL,'c') 復制(Ctrl+C)
send_keys(Keys.CONTROL,'x') 剪切(Ctrl+X)
send_keys(Keys.CONTROL,'v') 粘貼(Ctrl+V)
send_keys(Keys.F1) 鍵盤 F1
send_keys(Keys.F..) 鍵盤 F..
send_keys(Keys.F12) 鍵盤 F12

使用

from selenium import webdriver
# 引入 Keys 模塊
from selenium.webdriver.common.keys import Keys

driver = webdriver.Chrome()
driver.get("http://www.baidu.com")

# 輸入框輸入內容
driver.find_element_by_id("kw").send_keys("seleniumm")

# 刪除多輸入的一個 m
driver.find_element_by_id("kw").send_keys(Keys.BACK_SPACE)


# 輸入空格鍵+“教程”
driver.find_element_by_id("kw").send_keys(Keys.SPACE)
driver.find_element_by_id("kw").send_keys("教程")

# ctrl+a 全選輸入框內容
driver.find_element_by_id("kw").send_keys(Keys.CONTROL, 'a')

# ctrl+x 剪切輸入框內容
driver.find_element_by_id("kw").send_keys(Keys.CONTROL, 'x')

# ctrl+v 粘貼內容到輸入框
driver.find_element_by_id("kw").send_keys(Keys.CONTROL, 'v')

# 通過回車鍵來代替單擊操作
driver.find_element_by_id("su").send_keys(Keys.ENTER)
driver.quit()


下拉框選擇

當我們遇到下拉框元素select類型時 ,我們需要用到Select對象來操作
Select 對象地址

from selenium.webdriver.support.ui import Select

Select對象使用
創建對象

element = driver.find_element_by_id("sel")
select=Select(element)

選擇選項值

方法 作用
select.select_by_index(index) 根據索引選擇
select.select_by_value(value) 根據value值選擇
select.select_by_visible_text(text) 根據文本信息選擇

取消選項選擇,僅用於復選下拉框

方法 作用
select.deselect_all() 取消全部選擇項
select.deselect_by_index() 根據索引取消某一項
select.deselect_by_value() 根據value值取消某一項
select.deselect_by_visible_text() 根據文本信息取消

獲取信息

方法 作用
select.first_selected_option 獲取第一個被選中項
select.all_selected_options 獲取所有的選中項
select.options 獲取所有選項
select.is_multiple 是否多選下拉框


免責聲明!

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



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