【基於Python的Selenium2自動化測試】06 - 模擬滑鼠操作
阿新 • • 發佈:2019-01-12
在之前的文章中,我們已經接觸到了幾個滑鼠、鍵盤的簡單操作了,如下:
- 點選(滑鼠左鍵)頁面按鈕:click()
- 清空輸入框:clear()
- 輸入字串:send_keys()
當然,對於滑鼠事件中,我們熟悉的還有:右擊、雙擊、懸停、拖動 等功能。在WebDriver中,是將這些關於滑鼠操作的方法封裝在ActionChains類中了。
ActionChains類提供了以下滑鼠相關操作方法:
- perform(): 執行所有ActionChains中儲存的行為
- context_click():右擊
- double_click():雙擊
- drag_and_drop(source, target):將source移動到target
- move_to_element():懸停
- submit():提交表單(一般用於模擬 回車鍵)
注意: 操作滑鼠時,首先需要先匯入模組:from selenium.webdriver.common.action_chains import ActionChains
,然後使用perform()
方法執行ActionChains中的行為。
這裡我們模擬一下滑鼠懸停的操作方法。
以 慕課網 為例,先登入進去慕課網,然後將塑標懸停在個人頭像的位置:
【程式碼】
# coding=utf-8
from selenium import webdriver
from selenium.webdriver.common.action_chains import ActionChains #滑鼠操作需引入ActionChains類
import time
driver = webdriver.Firefox()
driver.get("https://coding.imooc.com/") # 開啟慕課網
# ====== 定位到帳號密碼登入按鈕
driver.find_element_by_id("js-signin-btn").click()
time.sleep(5)
# ===== 定位到帳號密碼登入框
username = driver.find_element_by_name("email")
username.clear()
username.send_keys("useName_XXXX")
password = driver.find_element_by_name("password")
password.clear()
password.send_keys("passWord_XXXX")
driver.find_element_by_xpath("//div[@id='signin']/div[2]/div/form/div[5]").click()
time.sleep(5)
# #定位到要懸停的元素(個人頭像)
target = driver.find_element_by_xpath("//div[@id='login-area']/ul/li[2]/a/img")
ActionChains(driver).move_to_element(target).perform()
time.sleep(8)
driver.quit()
執行結果如下: