Python+Selenium自动化测试框架6--鼠标事件(单击、右击、双击、鼠标悬停、鼠标拖动)

 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()

posted @ 2020-05-19 19:51  给自己一个改变的理由  阅读(2067)  评论(0编辑  收藏  举报