您的位置:首页 > 编程语言 > Python开发

初学者的Selenium自动化测试指南,基于Python(四)——常用鼠标事件

2017-06-16 17:13 881 查看
    上一节 基于Python的Selenium自动化测试(三)——控制浏览器窗口大小、前进、后退、刷新介绍了一些常用的操作浏览器的方法,这一节我们继续介绍关于鼠标操作的方法。

    在 WebDriver 中,ActionChains 类提供的常用鼠标操作方法有:

    perform()                  执行所有 ActionChains 中存储的行为

    click()                       点击(左击)

    context_click()          右击

    double_click()           双击

    drag_and_drop()      拖动

    move_to_element()  鼠标悬停

1、鼠标点击操作(不用引入ActionChains类)

from selenium import webdriver

driver=webdriver.Chrome()
driver.get("http://www.csdn.net/")
driver.find_element_by_xpath("//cite[@id='login']/a").click();

driver.find_element_by_id("username").clear()
driver.find_element_by_id("username").send_keys("zhangsan")
driver.find_element_by_id("password").clear()
driver.find_element_by_id("password").send_keys("123456")
driver.find_element_by_class_name("logging").click()

driver.quit()


2、鼠标右击操作

from selenium import webdriver
from selenium.webdriver.common.action_chains import ActionChains

driver=webdriver.Chrome()
driver.get("http://www.csdn.net/")
#定位到要右击的元素
right_click=driver.find_element_by_xpath("//cite[@id='login']/a")
#对定位到的元素执行点击右键的操作
ActionChains(driver).context_click(right_click).perform()

driver.quit()


3、鼠标悬停

from selenium import webdriver
from selenium.webdriver.common.action_chains import ActionChains

driver=webdriver.Chrome()
driver.get("http://www.baidu.com")

#定位到要悬停的元素
above=driver.find_element_by_xpath("//div[@id='u1']/a[8]")
#对定位到的元素执行悬停操作
ActionChains(driver).move_to_element(above).perform()

driver.quit()


4、鼠标双击操作

from selenium import webdriver
#引入 ActionChains 类
from selenium.webdriver.common.action_chains import ActionChains

driver = webdriver.Chrome()
....
#定位到要悬停的元素
double_click = driver.find_element_by_id("xx")
#对定位到的元素执行双击操作
ActionChains(driver).double_click(double_click).perform()
....
5、鼠标拖放操作

drag_and_drop(source, target)在源元素上按下鼠标左键,然后移动到目标元素上释放。

source: 鼠标拖动的源元素。

target: 鼠标释放的目标元素。

……
from selenium import webdriver
#引入 ActionChains 类
from selenium.webdriver.common.action_chains import ActionChains

driver = webdriver.Chrome()

....
#定位元素的源位置
element = driver.find_element_by_name("xxx")
#定位元素要移动到的目标位置
target = driver.find_element_by_name("xxx")
#执行元素的拖放操作
ActionChains(driver).drag_and_drop(element,target).perform()
....

    下一节 基于Python的Selenium自动化测试(五)——常用键盘事件我们将继续介绍常用的键盘事件。

    更多关于Selenium自动化测试的源码,欢迎查看我的github
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
相关文章推荐