1 # coding=utf-8 2 from selenium import webdriver 3 from selenium.webdriver.common.action_chains import ActionChains 4 import time 5 6 driver = webdriver.Chrome() 7 driver.implicitly_wait(5) 8 driver.maximize_window() 9 driver.get("http://www.baidu.com") 10 11 driver.find_element_by_xpath("//*[@id='kw']").send_keys("selenium") 12 print("鼠標單擊操作") 13 driver.find_element_by_xpath("//*[@id='su']").click() # 鼠標單擊“百度一下” 14 15 print("鼠標懸停操作") 16 click = driver.find_element_by_xpath("/html/body/div[1]/div[3]/div[1]/div[3]/div[2]/h3/a") # 定位到鼠標要操作的元素(Selenium_百度百科) 17 ActionChains(driver).move_to_element(click).perform() 18 time.sleep(3) 19 20 print("鼠標右擊操作") 21 ActionChains(driver).context_click(click).perform() 22 time.sleep(3) 23 24 print("鼠標雙擊操作") 25 ActionChains(driver).double_click(click).perform() 26 27 print("鼠標推放操作") 28 click1 = driver.find_element_by_xpath("/html/body/div[1]/div[3]/div[1]/div[1]/table/tbody/tr/td/div[1]/div/ul/li/div") 29 ActionChains(driver).drag_and_drop(click, click1).perform() 30 time.sleep(3) 31 32 driver.quit()
通過上述代碼可知:
鼠標事件對應的方法
•單擊:click()
•右擊:context_click()
•雙擊:double_click()
•鼠標懸停:move_to_element()
•鼠標拖動:drag_and_drop(source, target),source: 鼠標拖動的源元素,target: 鼠標釋放的目標元素。
說明:
1.進行鼠標事件操作,需要導入相應的模塊:from selenium.webdriver import ActionChains
2.調用 ActionChains()方法,在使用將瀏覽器驅動 driver 作為參數傳入:ActionChains(driver)
3.模擬鼠標操作事件,在調用時需要傳入定位到的元素:move_to_element(click)
4.執行所有 ActionChains 中存儲的行為,要對整個操作事件進行提交動作:perform()
