10 - selenium 常見操作,使用 ActionChains 類來進行鼠標操作


鼠標操作

  • 由 selenium 的 ActionChains 類來完成模擬鼠標操作。ActionChains(譯:按可深柴死)

鼠標操作步驟:ActionChains

  • 1、實例化
  • 2、調用對元素的鼠標操作方法
  • 3、 調用perform()執行。

需要引入 ActionChains 類:

from selenium.webdriver.common.action_chains import ActionChains

示例:ActionChains(driver).方法名1().context_ click().perform()

 

ActionChains類里面的方法行為:
初始化的時候需要傳driver 對象,內置的一個空列表中:

  • perform:執行所有的行為
    • (譯:潑峰)執行所有存儲的操作
  • reset_actions:將整個列表清空
    • (譯:瑞斯特.安可深思)清除已在本地和遠程端存儲的操作  
  • click:點擊
    • (譯:可立克)點擊一個元素。  
  • click_and_hold:拖拽
    • (譯:可立克.按得.后的)按住元素上的鼠標左鍵。不松  
  • context_click:右擊
    • (譯:康泰克斯特.可立克)對元素執行上下文單擊(右擊)。  
  • double_click:雙擊
    • (譯:大泊兒.可立克)雙擊其中的一個元素。
  • drag_and_drop:拖拽到目標后松開
    • (譯:轉個.按得.趙坡)按住源元素上的鼠標左鍵,然后移動到目標元素並釋放鼠標按鈕。    
  • drag_and_drop_by_offset:偏移拖拽
    • (譯:轉個.按得.趙坡.白.奧佛賽特)按住源元素上的鼠標左鍵,然后移動到目標偏移量並釋放鼠標按鈕。   
  • key_down:在一個元素上按住一個鍵不松
    • (譯:k當)只發送一個按鍵,不釋放它。只能與修改鍵(控制,Ctrl、Alt和Shift)一起使用。  
  • key_up: 松開按鍵
    • (譯:K阿婆)釋放修改鍵。  
  • move_by_offset:鼠標移動
    • (譯:目.白.奧佛賽特)將鼠標移動到當前鼠標位置的偏移量。  
  • move_to_element:鼠標懸浮
    • (譯:目.圖.按了們特)將鼠標移動到元素的中間。  
  • move_to_element_with_offset:鼠標坐標偏移
    • (譯:目.圖.按了們特.位子.奧佛賽特)將鼠標移動指定元素的偏移量。偏移量相對於元素的左上角。  
  • pause:暫停
    • (譯:普斯)在指定的持續時間內暫停所有輸入(以秒為單位)--每個動作執行后需要暫停幾秒不執行之后操作  
  • release:松開
    • (譯:瑞麗斯)釋放元素上被按住的鼠標按鈕。  
  • send_keys:輸入
    • (譯:森德.K死)向元素發送鍵。  
  • send_keys_to_element:在元素上輸入文本
    • (譯:森德.K死.圖.按了們特)  
from selenium import webdriver
from selenium.webdriver.common.action_chains import ActionChains

driver = webdriver.Chrome()

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

# 找到元素
ele = driver.find_element_by_xpath('//div[@id="u1"]//a[@name="tj_settingicon"]')
# 1、鼠標操作實例化;鼠標懸浮在百度首頁“設置”按鈕上方,暫停0.5秒,點擊操作,perform執行之前的所有操作
ActionChains(driver).move_to_element(ele).pause(0.5).click(ele).perform()

# 2、能不用1的鼠標操作的盡量不用,鼠標操作不穩定
# ele.click()

 


免責聲明!

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



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