python+selenium 滑鼠事件操作
一、前言
除了可以使用 click( ) 來模擬滑鼠的單擊操作,現在Web產品中還提供了更豐富的滑鼠互動方式,例如滑鼠右鍵、雙擊、懸停、拖動等功能,在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 ActionChains
driver = webdriver.Chrome()
driver.get("url")
#......
#定位到需要右擊的元素
right_click = driver.find_element_by_id("id")
#對元素進行右擊操作
ActionChains(driver).context_click(right_click).perform()
#......
ActionChains(driver):呼叫ActionChains類,將瀏覽器驅動driver作為引數傳入;
perform():執行所有ActionChains中儲存的行為,可以理解成是對整個操作的提交動作;
2.滑鼠懸停
move_to_element()方法可以模擬滑鼠懸停的動作,其用法與context_click()相同;
from selenium import webdriver
#引入ActionChains類
from selenium.webdriver.common.action_chains import ActionChains
driver = webdriver.Chrome()
driver.get("url")
#......
#定位到需要懸停的元素
above = driver.find_element_by_id("id")
#對元素進行右擊操作
ActionChains(driver).move_to_element(above).perform()
#......
3.滑鼠雙擊
double_click() 方法用於模擬滑鼠雙擊操作;
from selenium import webdriver
#引入ActionChains類
from selenium.webdriver.common.action_chains import ActionChains
driver = webdriver.Chrome()
driver.get("url")
#......
#定位到需要雙擊的元素
double_click = driver.find_element_by_id("id")
#對元素進行右擊操作
ActionChains(driver).double_click(double_click).perform()
#......
4.滑鼠拖動操作
drag_and_drop(source,target) 在源位置元素上按住滑鼠左鍵,然後移動到目標元素上釋放。
source:滑鼠拖動的源元素
target:滑鼠釋放的目標元素
from selenium import webdriver
#引入ActionChains類
from selenium.webdriver.common.action_chains import ActionChains
driver = webdriver.Chrome()
driver.get("url")
#......
#定位元素的源位置
source = driver.find_element_by_id("id")
#定位元素要移到到的目標位置
target = driver.find_element_by_id("id")
#對元素進行拖動操作
ActionChains(driver).drag_and_drop(source,target).perform()
---------------------
作者:一條漂浮的楓葉
來源:CSDN
原文:https://blog.csdn.net/zb455405775/article/details/80675718
版權宣告:本文為博主原創文章,轉載請附上博文連結!