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

Posted 给自己一个改变的理由

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python+Selenium自动化测试框架--鼠标事件(单击右击双击鼠标悬停鼠标拖动)相关的知识,希望对你有一定的参考价值。

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

以上是关于Python+Selenium自动化测试框架--鼠标事件(单击右击双击鼠标悬停鼠标拖动)的主要内容,如果未能解决你的问题,请参考以下文章

python_selenium自动化测试框架

selenium + python自动化测试unittest框架学习selenium原理及应用

搭建自动化测试框架Python3+Selenium

Selenium + Python 自动化测试框架搭建

简易selenium自动化测试框架(Python)

基于Selenium+Python的web自动化测试框架