前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Selenium鼠标操作事件

Selenium鼠标操作事件

作者头像
Altumn
发布2019-10-21 16:51:36
1K0
发布2019-10-21 16:51:36
举报

写在前面

日常的UI自动化测试活动中,有时候会用到鼠标操作事件。Selenium WebDriver 给我们提供了一个类来处理这类事件:ActionChains。 ActionChains 类提供了鼠标操作的常用方法:

  • perform():执行所有 ActionChains 中存储的行为;
  • click():左键单击
  • context_click():右键双击;
  • double_click():双击;
  • drag_and_drop():拖动;
  • move_to_element():鼠标悬停;
  • click_and_hold ():左键按下不释放;
  • release ():释放按住的鼠标按钮 。

注意:以上方法需要调用ActionChains()类,将浏览器驱动driver元素elment作为参数传入。例如双击:

ActionChains(driver).double_click(elment)

鼠标事件示例

接下来,针对百度主页模拟鼠标悬停操作。代码如下所示:

代码语言:javascript
复制
#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关于鼠标的处理事件,处理一般为以下几个处理步骤:

  • 导入提供鼠标操作的 ActionChains 类:

from selenium.webdriver import ActionChains

  • 定位到要进行鼠标操作的元素(元素定位方式不限):

element=driver.find_element_by_link_text(“设置”)

  • 调用 ActionChains()类,将浏览器驱动 driver 作为参数传入,并且将要执行的动作传到元素上:

action=ActionChains(driver).move_to_element(element)

  • 执行 ActionChains 中存储的行为action,可就是对操作事件的提交动作:

action.perform()

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2018-12-26,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 软件测试testclass 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档