selenium 鼠標事件


鼠標事件

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

  1. ActionChains類中常用的鼠標事件:
  2. perform():執行所有ActionChains中存儲的行為
  3. context_click():右擊
  4. double_click():雙擊
  5. drag_and_drop():拖動
  6. move_to_element():鼠標懸停
from selenium import webdriver
#導入提供鼠標事件的ActionChains
from selenium.webdriveer.common.action_chains import ActionChains

driver = webdriver.Chrome()
driver.get('https://www.baidu.com')
#定位到懸停的元素
above = driver.find_element_by_link_text('設置')
#對定位到的元素進行鼠標懸停操作
ActionChains(driver).move_to_element(above).perfrom()

 

from selenium.webdriver import ActionChains

>>導入提供鼠標操作的ActionChains類。

ActionChains(driver)

>>調用ActionChains()類,將瀏覽器驅動driver作為參數傳入

move_to_element(above)

>>context_click()方法用於模擬鼠標右鍵操作,在調用時需要指定元素定位

perform()

>>執行所有的ActionChains中存儲的行為,可以理解成對整個操作的提交動作。

實例:

coding = utf-8
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
import time
from selenium.webdriver.common.action_chains import ActionChains

driver = webdriver.Firefox()
driver.get("http://172.16.10.7/bugfree/index.php/site/login")
#登陸
driver.find_element_by_id("LoginForm_username").send_keys("solo")
driver.find_element_by_id("LoginForm_username").send_keys(Keys.TAB)  #昨天的知識點Keys.TAB
driver.find_element_by_id("LoginForm_password").send_keys("test")
driver.find_element_by_id("LoginForm_password").send_keys(Keys.ENTER)
driver.find_element_by_id("LoginForm_rememberMe").click()
time.sleep(5)
#定位要點擊的元素,先定義一個變量
problemlist = driver.find_element_by_xpath("html/body/div/div[2]/div[5]/div[3]/div[3]/table/tbody/tr[1]/td[5]/span/a")
#driver.find_element_by_xpath("//a[contains(@href,'/bugfree/index.php/case/list/1')]")
 ActionChains(driver).context_click(problemlist).perform() #對定位到的元素執行鼠標右鍵操作 ActionChains(driver).double_click(problemlist).perform() #對定位到的元素執行鼠標雙擊操作

#報錯:Missing or invalid type argument for pointer action,還沒有定位出原因

driver.quit()

 


免責聲明!

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



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