selenium - webdriver actionchains 鼠標事件(右擊、雙擊、懸停、拖動)


webdriver中,將鼠標的操作封裝在ActionChains類中,常用方法如下:

  • 右擊:context_click()
  • 雙擊:double_click()
  • 懸停:move_to_element()
  • 拖動:drag_and_drop()
  • 執行:perform()             執行所有ActionChains 中存儲的行為,可理解為對整個操作的提交動作

ps:對元素的click()方法,可模擬鼠標左鍵單擊事件

 

1. 鼠標右擊

 模擬鼠標右鍵點擊百度首頁的新聞按鈕

from selenium import webdriver
from selenium.webdriver.common.action_chains import ActionChains   # 導入鼠標操作的ActionChains類
import time

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

right_click_element = driver.find_element_by_name('tj_trnews')
ActionChains(driver).context_click(right_click_element).perform()  # 將driver和需右擊的元素傳入,並提交動作

time.sleep(2)
driver.close()

 右擊效果如下:

 

2. 鼠標雙擊

找到元素並雙擊
double_click_element = driver.find_element_by_name('tj_trnews') ActionChains(driver).double_click(double_click_element).perform() # 鼠標雙擊

 

3. 鼠標懸停

above = driver.find_element_by_link_text('更多產品')
ActionChains(driver).move_to_element(above).perform()

懸停效果如下:

 

4. 鼠標拖放

source = driver.find_element_by_link_text('新聞')
target = driver.find_element_by_xpath('//*[@id="form"]/span[1]/span')
ActionChains(driver).drag_and_drop(source, target).perform()   #將source元素拖動到target元素位置

 


免責聲明!

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



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