写在前面
日常的UI自动化测试活动中,有时候会用到鼠标操作事件。Selenium WebDriver 给我们提供了一个类来处理这类事件:ActionChains。 ActionChains 类提供了鼠标操作的常用方法:
注意:以上方法需要调用ActionChains()类,将浏览器驱动driver元素elment作为参数传入。例如双击:
ActionChains(driver).double_click(elment)
鼠标事件示例
接下来,针对百度主页模拟鼠标悬停操作。代码如下所示:
#coding=utf-8
#www.testclass.cn
#Altumn
import time
from selenium import webdriverfrom selenium.webdriver.common.action_chains import ActionChainsdriver = webdriver.Chrome()
driver.maximize_window()
driver.implicitly_wait(10)
driver.get('https://www.baidu.com')
#首先定位到要悬停的元素;
element = driver.find_element_by_link_text("设置")
#对定位到的元素执行鼠标悬停操作;
ActionChains(driver).move_to_element(element).perform()
#等待两秒,为了展示鼠标悬停效果;
time.sleep(2)
#弹出的Ajax,单击'高级搜索';
driver.find_element_by_link_text('高级搜索').click()
小结一下
Selenium WebDriver关于鼠标的处理事件,处理一般为以下几个处理步骤:
from selenium.webdriver import ActionChains
element=driver.find_element_by_link_text(“设置”)
action=ActionChains(driver).move_to_element(element)
action.perform()