Selenium學習(5)滑鼠事件
以下內容為(六)滑鼠事件 · 測試教程網的學習內容。
在 WebDriver 中, 將這些關於滑鼠操作的方法封裝在 ActionChains 類提供。
ActionChains 類提供了滑鼠操作的常用方法:
- perform(): 執行所有 ActionChains 中存儲的行為;
- context_click(): 右擊;
- double_click(): 雙擊;
- drag_and_drop(): 拖動;
- move_to_element(): 滑鼠懸停。
1 滑鼠懸停
from selenium import webdriver# 導入提供滑鼠操作的 ActionChains 類from selenium.webdriver.common.action_chains import ActionChainsdriver = webdriver.Chrome(executable_path="D:Driverchromedriver.exe")driver.get("https://www.baidu.com")above = driver.find_element_by_link_text("更多產品")# 對定位到的元素執行滑鼠懸停操作ActionChains(driver).move_to_element(above).perform()
- from selenium.webdriver import ActionChains
導入提供滑鼠操作的 ActionChains 類。
- ActionChains(driver)
調用 ActionChains()類, 將瀏覽器驅動 driver 作為參數傳入。
- move_to_element(above)
move_to_element(above)方法用於模擬滑鼠右鍵操作, 在調用時需要指定元素定位。
- perform()
執行所有 ActionChains 中存儲的行為, 可以理解成是對整個操作的提交動作。
2 右擊
from selenium import webdriverfrom selenium.webdriver.common.action_chains import ActionChainsdriver = webdriver.Chrome(executable_path="D:Driverchromedriver.exe")driver.get("https://www.baidu.com")# 右擊above = driver.find_element_by_link_text("新聞")ActionChains(driver).context_click(above).perform()
3 雙擊
from selenium import webdriverfrom selenium.webdriver.common.action_chains import ActionChainsdriver = webdriver.Chrome(executable_path="D:Driverchromedriver.exe")driver.get("https://www.baidu.com")# 雙擊above = driver.find_element_by_link_text("新聞")ActionChains(driver).double_click(above).perform()
4 拖動
from selenium import webdriverfrom selenium.webdriver.common.action_chains import ActionChainsdriver = webdriver.Chrome(executable_path="D:Driverchromedriver.exe")driver.get("https://www.baidu.com")# 拖動 - KOsource_element = driver.find_element_by_link_text("新聞")target_element = driver.find_element_by_id("kw")ActionChains(driver).drag_and_drop(source_element, target_element).perform()
拖動的代碼暫未調試通過
其他方法:
click(on_element=None) ——單擊滑鼠左鍵click_and_hold(on_element=None) ——點擊滑鼠左鍵,不鬆開drag_and_drop_by_offset(source, xoffset, yoffset) ——拖拽到某個坐標然後鬆開key_down(value, element=None) ——按下某個鍵盤上的鍵key_up(value, element=None) ——鬆開某個鍵move_by_offset(xoffset, yoffset) ——滑鼠從當前位置移動到某個坐標move_to_element_with_offset(to_element, xoffset, yoffset) ——移動到距某個元素(左上角坐標)多少距離的位置perform() ——執行鏈中的所有動作release(on_element=None) ——在某個元素位置鬆開滑鼠左鍵send_keys(*keys_to_send) ——發送某個鍵到當前焦點的元素send_keys_to_element(element, *keys_to_send) ——發送某個鍵到指定元素
推薦閱讀:
※使用Selenium對網頁元素進行定位的諸種方法
※SELENIUM是如何啟動瀏覽器的
※Selenium2+python自動化23
※Selenium學習(7)獲取斷言信息
※Python爬蟲利器五之Selenium的用法 | 靜覓
TAG:Selenium |