一、鼠标事件

1. webdriver中,关于鼠标操作的方法封装在ActionChains类中
ActionChains类提供了鼠标操作的常用方法:
perform:执行所有ActionChains中存储的行为
context_click():右击
double_click():双击
drag_and_drop():拖动
move_to_element():鼠标悬停

2. 鼠标右击操作

#yunpan.py
#coding:utf-8
from selenium.webdriver.common.action_chains import ActionChains
from selenium import webdriver driver=webdriver.Chrome()
driver.get("https://yunpan.360.cn")
#....... 
#定位到要右击的元素
right_click=driver.find_element_by_id("XXX")
#对定位到的元素执行鼠标右键操作
ActionChains(driver).context_click(right_click).perform() 

(1)from selenium.webdriver.common.action_chains import ActionChains
  导入提供鼠标操作的ActionChains类。
(2)ActionChains(driver)
  调用ActionChains()类,将浏览器驱动driver作为参数传入
(3)context_cilick(right_click)
  context_click()方法用于模拟鼠标右键操作,在调用时需要指定元素定位
(4)perform()
  执行所有ActionChains中存储的行为,可以理解成是对整个操作的提交动作
3. 鼠标悬停
move_to_element()方法可以模拟鼠标悬停的动作,器用法与context_click()相同

#mouse.py
#定位到要悬停的元素
above=driver.find_element_by_id('xxx') #对定位到的元素执行悬停操作
ActionChains(driver).move_to_element(above).perform()
#.....

 

4. 鼠标双击操作
double_click()方法用于模拟鼠标双击操作

#mouse.py
#定位到要悬停的元素
double_click=driver.find_element_by_id('xxx') #对定位到的元素执行双击操作
ActionChains(driver).double_click(double_click).perform()
#.....

 

5. 鼠标拖放操作
drag_and_drop(source,target)在源元素上按住鼠标左键,然后移动到目标元素上释放
source:鼠标拖动的源元素
target:鼠标释放的目标元素

#mouse.py
#........ #定位元素的原位置
element=driver.find_element_by_id("XX")
#定位元素要移动到的目标位置
target=driver.find_element_by_id("XX") #执行元素的拖放操作
ActionChains(driver).drag_and_drop(element,target).perform()
#.......

  

Selenium 2自动化测试实战10(鼠标事件)的更多相关文章

  1. Selenium 2自动化测试实战

    Selenium 2自动化测试实战 百度网盘 链接:https://pan.baidu.com/s/1aiP3d8Y1QlcHD3fAlEj4sg 提取码:jp8e 复制这段内容后打开百度网盘手机Ap ...

  2. Selenium 2自动化测试实战3(函数、类和方法)

    一.函数.类和方法1.函数在python中通过def关键字来定义函数 创建一个add()函数,此函数接收两个参数a,b,通过print()打印a+b的结果.调用add()函数,并且上传两个参数3,5给 ...

  3. 《Selenium 2自动化测试实战 基于Python语言》中发送最新邮件无内容问题的解决方法

    虫师的<Selenium 2自动化测试实战 基于Python语言>是我自动化测试的启蒙书 也是我推荐的自动化测试入门必备书,但是书中有一处明显的错误,会误导很多读者,这处错误就是第8章自动 ...

  4. Selenium 与自动化测试 —— 《Selenium 2 自动化测试实战》读书笔记

    背景 最近在弄 appium,然后顺便发现了 Selenium 框架和这本书,恰好这本书也介绍了一些软件测试&自动化测试的理论知识,遂拿过来学习学习.所以本文几乎没有实践内容,大多都是概念和工 ...

  5. selenium python (三)鼠标事件

    # -*- coding: utf-8 -*-#鼠标事件 #ActionChains类中包括:                     # context_click()  右击:           ...

  6. Selenium3 + Python3自动化测试系列四——鼠标事件和键盘事件

    一.鼠标事件 在 WebDriver 中, 将这些关于鼠标操作的方法封装在 ActionChains 类提供. ActionChains 类提供了鼠标操作的常用方法. ActionChains 类的成 ...

  7. Selenium 2自动化测试实战11(键盘事件)

    一.键盘事件 1.Keys()类提供了键盘上几乎所有按键的方法,如下实例: #coding:utf-8 from selenium.webdriver.common.keys import Keys ...

  8. Selenium 2自动化测试实战18(上传文件)

    一.上传文件 上传文件是比较常见的web功能之一,但WebDriver没有提供专门用于上传的方法. 一般web页面的上传功能的操作需要单击“上传”按钮后打开本地的Window窗口,从窗口选择本地文件进 ...

  9. Selenium+Python自动化测试实战(2)元素定位

    1.Selenium2 的原理 第一篇分享简单介绍了基于Python开发的Selenium2的环境配置,这篇主要讲一下基本用法.首先讲一下Selenium2的基本原理.基本上知道了这个东西是怎么回事, ...

随机推荐

  1. 使用TensorFlow玩GTA5

    小白学TensorFlow(一) tensorflow安装 在安装之前,您必须选择以下类型的TensorFlow之一来安装: TensorFlow仅支持CPU支​​持.如果您的系统没有NVIDIA®G ...

  2. 【bzoj 4059】Non-boring sequences

    这题的重点不在于代码,而在于复杂度分析…… 首先我们肯定会写 $n^2$ 暴力,就是每次暴力扫 $[l,r]$ 区间,找到任意一个在此区间中只出现过一次的数.设其下标为 $mid$,显然在这个区间中任 ...

  3. java多线程的四种实现方式

    主要有四种:继承Thread类.实现Runnable接口.实现Callable接口通过FutureTask包装器来创建Thread线程.使用ExecutorService.Callable.Futur ...

  4. 第三次java测验2

    package java3; public class Suiji { public long a=12345L;//定义long类型的a,b,c变量 public long c=12345L; pu ...

  5. 从给定的N个正数中选取若干个数之和最接近M

    https://blog.csdn.net/lsjseu/article/details/11660731

  6. 调试python 程序的几种方法总结

    程序能一次写完并正常运行的概率很小,基本不超过1%.总会有各种各样的bug需要修正.有的bug很简单,看看错误信息就知道,有的bug很复杂,我们需要知道出错时,哪些变量的值是正确的,哪些变量的值是错误 ...

  7. Vue -- mounted方法中调用methods的方法(并取出mounted方法中回调函数的值)

    结果:

  8. vue cli3 项目配置

    [转]https://juejin.im/post/5c63afd56fb9a049b41cf5f4 基于vue-cli3.0快速构建vue项目 本章详细介绍使用vue-cli3.0来搭建项目. 本章 ...

  9. linux下PHP扩展安装memcache模块

    linux下PHP扩展安装memcache模块   roid 安装环境RHEL 4Php 5.2.6 所需软件libevent-1.4.6-stable.tar.gz (http://monkey.o ...

  10. LINUX笔记之一概述

    unix商业发行版三个主要的:IBM的AIX,HP的HP-UX,SUN的Solaris.AIX和HP-UX只能装在对应的机器上,只有Solaris可以装在个人PC上. 普通发行版FREE BSD和LI ...