標籤:

Selenium學習(5)滑鼠事件

Selenium學習(5)滑鼠事件

以下內容為(六)滑鼠事件 · 測試教程網的學習內容。

在 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 ActionChainsdriver = webdriver.Chrome(executable_path="D:Driverchromedriver.exe")driver.get("https://www.baidu.com")above = driver.find_element_by_link_text("更多產品")# 對定位到的元素執行滑鼠懸停操作ActionChains(driver).move_to_element(above).perform()

  • from selenium.webdriver import ActionChains

導入提供滑鼠操作的 ActionChains 類。

  • ActionChains(driver)

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

  • move_to_element(above)

move_to_element(above)方法用於模擬滑鼠右鍵操作, 在調用時需要指定元素定位。

  • perform()

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

2 右擊

from selenium import webdriverfrom selenium.webdriver.common.action_chains import ActionChainsdriver = webdriver.Chrome(executable_path="D:Driverchromedriver.exe")driver.get("https://www.baidu.com")# 右擊above = driver.find_element_by_link_text("新聞")ActionChains(driver).context_click(above).perform()

3 雙擊

from selenium import webdriverfrom selenium.webdriver.common.action_chains import ActionChainsdriver = webdriver.Chrome(executable_path="D:Driverchromedriver.exe")driver.get("https://www.baidu.com")# 雙擊above = driver.find_element_by_link_text("新聞")ActionChains(driver).double_click(above).perform()

4 拖動

from selenium import webdriverfrom selenium.webdriver.common.action_chains import ActionChainsdriver = webdriver.Chrome(executable_path="D:Driverchromedriver.exe")driver.get("https://www.baidu.com")# 拖動 - KOsource_element = driver.find_element_by_link_text("新聞")target_element = driver.find_element_by_id("kw")ActionChains(driver).drag_and_drop(source_element, target_element).perform()

拖動的代碼暫未調試通過

其他方法:

click(on_element=None) ——單擊滑鼠左鍵click_and_hold(on_element=None) ——點擊滑鼠左鍵,不鬆開drag_and_drop_by_offset(source, xoffset, yoffset) ——拖拽到某個坐標然後鬆開key_down(value, element=None) ——按下某個鍵盤上的鍵key_up(value, element=None) ——鬆開某個鍵move_by_offset(xoffset, yoffset) ——滑鼠從當前位置移動到某個坐標move_to_element_with_offset(to_element, xoffset, yoffset) ——移動到距某個元素(左上角坐標)多少距離的位置perform() ——執行鏈中的所有動作release(on_element=None) ——在某個元素位置鬆開滑鼠左鍵send_keys(*keys_to_send) ——發送某個鍵到當前焦點的元素send_keys_to_element(element, *keys_to_send) ——發送某個鍵到指定元素

推薦閱讀:

使用Selenium對網頁元素進行定位的諸種方法
SELENIUM是如何啟動瀏覽器的
Selenium2+python自動化23
Selenium學習(7)獲取斷言信息
Python爬蟲利器五之Selenium的用法 | 靜覓

TAG:Selenium |