selenium中鼠標的常用操作


selenium自動化中,有時候會遇到需要模擬鼠標操作才能進行的情況,比如單擊、雙擊、點擊鼠標右鍵、拖拽等等。而selenium給我們提供了一個類來處理這類事件——ActionChains。


ActionChains類鼠標操作的常用方法

  • context_click()  右擊
  • double_click()  雙擊
  • drag_and_drop()  拖動
  • move_to_element()  鼠標懸浮在一個元素上
  • click_and_hold()  按下鼠標左鍵在一個元素上不松開

在使用ActionChains類下面的方法之前,需要先引入ActionChains類

from selenium.webdriver.common.action_chains import ActionChains 

這里需要注意的是:ActionChains(driver),
                            driver:webdriver實例執行用戶操作。
                            ActionChains用於生產用戶的行為,所有的行為都存儲在actionchains對象上,再通過perform()執行所有ActionChains中存儲的行為。
                            perform()同樣也是ActionChains類提供的方法,通常與ActionChains()配合使用。


鼠標右擊context_click()操作

#定位到要右擊的元素
right =driver.find_element_by_xpath("xx")

#對定位到的元素執行鼠標右鍵操作
ActionChains(driver).context_click(right).perform() 


鼠標雙擊double_click()操作

#定位到要雙擊的元素
double =driver.find_element_by_xpath("xxx") 

 #對定位到的元素執行鼠標雙擊操作 
ActionChains(driver).double_click(double).perform() 


鼠標拖放drag_and_drop()操作

復制代碼
#定位元素的原位置 
element = driver.find_element_by_name("xxx")

#定位元素要移動到的目標位置 
target = driver.find_element_by_name("xxx")

#執行元素的移動操作 
ActionChains(driver).drag_and_drop(element, target).perform()
復制代碼

 

鼠標懸浮在一個元素上move_to_element()

#定位鼠標需要懸浮的元素
ele= driver.find_element_by_id('i1')

#執行鼠標操作
ActionChains(driver).move_to_element(ele).perform()

 


免責聲明!

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



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