前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >《selenium2 python 自动化测试实战》(4)——鼠标事件

《selenium2 python 自动化测试实战》(4)——鼠标事件

作者头像
孟船长
发布2018-05-18 18:15:54
8890
发布2018-05-18 18:15:54
举报
文章被收录于专栏:自动化测试实战

鼠标事件包含在ActionChains类中,导入时只需要:

代码语言:javascript
复制
from selenium.webdriver.common.action_chains import ActionChains

导入类即可:

常用的方法有:

  • context_click() ——右键单击
  • double_click() ——双击
  • drag_and_drop(鼠标按下的元素,鼠标释放的元素) ——拖动
  • move_to_element() ——鼠标悬停在一个元素上
  • click_and_hold() ——按下鼠标左键在一个元素上

需要注意的是,这些ActionChains类中对鼠标的操作,在执行的时候需要加perform才可以执行。

来一段代码,大家看一下效果:

代码语言:javascript
复制
# coding: utf-8
from selenium import webdriver
from time import sleep
from selenium.webdriver.common.action_chains import ActionChains
options = webdriver.ChromeOptions()
options.add_argument('disable-infobars')
driver = webdriver.Chrome(chrome_options=options)
# driver = webdriver.Chrome()
driver.get("http://www.jrj.com.cn/")
sleep(2)
source = driver.find_element_by_xpath(".//*[@id='appherw']")
ActionChains(driver).move_to_element(source).perform()

额,不得不说,我踩到坑了……大家也发现了,我用的是chrome浏览器,没错,因为Firefox就是拖动不了……我百度了一大圈也没找到原因。只能和大家说一下我的chrome版本了;此外如果大家不像我那样写而是直接webdriver.Chrom(),运行是没问题的,但是chrome打开时会显示一行字——“chrome正受到自动测试软件的控制”,看着真的很不爽。用chrome的话就得安装chromedriver了……QQ群里我已经上传了,包括这个版本的chrome,此外除了chromdriver外建议大家顺便把geckodriver也一起放进去,放到python文件夹就可以。或者大家可以自己百度一下或者在任意技术群应该都有这些群文件可以下载的。我暂时还不想开放QQ群。

上面的代码运行后会发现下面显示出了二维码——这正是鼠标移动上去时候的响应。

再提醒大家一遍,鼠标的操作要有.perform()哦

这些东西都是死的,大家只要能看明白,这次即使记不住,用的时候只需要找出来看看就能立刻写出来的。

坑真多……,我是没想到Firefox不行,哈哈

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

本文分享自 自动化测试实战 微信公众号,前往查看

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

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

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