鼠标操作

现在的Web产品提供了丰富的鼠标交互方式,例如鼠标右击、双击、悬停、甚至是鼠标拖动等功能,在Webdriver中,将这些关于鼠标操作的方法封装在ActionChains类提供。

1.鼠标右击操作

from selenium import webdriver

# 引入ActionChains类

from selenium.webdriver.common.action_chains import ActionChains

from time import sleep

driver=webdriver.Firefox()

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

#......

# 定位到要右击的元素

element=driver.find_element_by_css_selector("#kw")

#右击操作

ActionChains(driver).context_click(element).perform()

#......

from selenium.webdriver import ActionChains,导入提供鼠标操作的ActionChains类

ActionChains(driver),调用ActionChains()类,将浏览器驱动driver作为参数传入

context_click(element),context_click()方法用于模拟鼠标右键操作,在调用时需要制定元素定位

perform(),执行所有ActionChains中存储的行为,可以理解成是对整个操作的提交动作

2.鼠标悬停

#......

# 定位到要悬停的元素

element=driver.find_element_by_css_selector("#kw")

#鼠标悬停

above=driver.find_element_by_css_selector(".pf")

ActionChains(driver).move_to_element(above).perform()

#......

3.鼠标双击操作

#......

# 定位到要双击的元素

element=driver.find_element_by_css_selector("#kw")

#双击操作

ActionChains(driver).double_click(element).perform()

#......

4.鼠标拖放操作

#......

# 定位元素的原位置

element=driver.find_element_by_id("xx")

# 定位元素要移动的目标位置

target==driver.find_element_by_id("xx")

# 执行元素的拖放操作

ActionChains(driver).drag_and_drop(element,target).perform()

#......

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

source:鼠标移动的源元素

target:鼠标释放的目标元素

键盘事件

Keys()类提供了键盘上几乎所有按键的方法。

from selenium import webdriver

# 引入Key模块

from selenium.webdriver.common.keys import Keys

from time import sleep

driver=webdriver.Firefox()

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

# 输入框输入内容

driver.find_element_by_css_selector("#kw").send_keys("pythonn")

# 删除多输入的一个n

driver.find_element_by_css_selector("#kw").send_keys(Keys.BACK_SPACE)

# 输入空格键+“教程”

driver.find_element_by_css_selector("#kw").send_keys(Keys.SPACE)

driver.find_element_by_css_selector("#kw").send_keys("教程")

# ctrl+a全选输入框内容

driver.find_element_by_css_selector("#kw").send_keys(Keys.CONTROL,'a')

# ctrl+c复制输入框内容

driver.find_element_by_css_selector("#kw").send_keys(Keys.CONTROL,'c')

# ctrl+x剪切输入框内容

driver.find_element_by_css_selector("#kw").send_keys(Keys.CONTROL,'x')

# ctrl+v粘贴内容到输入框

driver.find_element_by_css_selector("#kw").send_keys(Keys.CONTROL,'v')

# 通过回车键代替单击操作

driver.find_element_by_css_selector("#su").send_keys(Keys.ENTER)

driver.quit()

在使用键盘方法前需要先导入Keys类

以下为常用的键盘操作

代码

含义

send_keys(Keys.BACK_SPACE)

删除键(BackSpace)

send_keys(Keys.SPACE)

空格键(Space)

send_keys(Keys.TAB)

制表键(Tab)

send_keys(Keys.ESCAPE)

回退键(Esc)

send_keys(Keys.eNTER)

回车键(Enter)

send_keys(Keys.CONTROL,'a')

全选(Ctrl+A)

send_keys(Keys.CONTROL,'c')

复制(Ctrl+C)

send_keys(Keys.CONTROL,'x')

剪切(Ctrl+X)

send_keys(Keys.CONTROL,'v')

粘贴(Ctrl+(Ctrl+A))

send_keys(Keys.F1)

键盘F1

......

send_keys(Keys.F12)

键盘F12

Python - selenium_WebDriver 鼠标键盘事件

from selenium import webdriver #引入ActionChains类 提供了鼠标的操作方法 from selenium.webdriver.common.action_cha ...

自动化测试基础篇--Selenium鼠标键盘事件

摘自https://www.cnblogs.com/sanzangTst/p/7477382.html 前面几篇文章我们学习了怎么定位元素,同时通过实例也展示了怎么切换到iframe,怎么输入用户名和 ...

Python+Selenium学习--键盘事件

场景 我们在实际的测试工作中,有时候需要使用tab键将焦点移动到下一个元素,用于验证元素的排序是否正确.webdriver的Keys()类提供键盘上所有的操作,甚至可以模拟一些组合键的操作,如Ctrl ...

python selenium鼠标键盘操作(ActionChains)

用selenium做自动化,有时候会遇到需要模拟鼠标操作才能进行的情况,比如单击.双击.点击鼠标右键.拖拽等等.而selenium给我们提供了一个类来处理这类事件--ActionChains sele ...

Python+selenium之键盘事件

keuys()类提供键盘上所有的按键方法.send_keys()方法可以用来模拟键盘输入. from selenium import webdriver from selenium.webdriver ...

python selenium(键盘事件 Keys 类)

1.导入Keys类 from selenium.webdriver.common.keys import Keys Keys.BACK_SPACE  删除输入框内结尾的单个字符 Keys.SPACE  ...

Python——pyHook监听鼠标键盘事件

pyHook包为Windows中的全局鼠标和键盘事件提供回调. 底层C库报告的信息包括事件的时间,事件发生的窗口名称,事件的值,任何键盘修饰符等. 而正常工作需要pythoncom等操作系统的API的 ...

Linux 模拟 鼠标 键盘 事件

/************************************************************************ * Linux 模拟 鼠标 键盘 事件 * 说明: ...

Tkinter 鼠标键盘事件(一)

一: 鼠标事件                                                                     鼠标左键单击 ...

随机推荐

Spring MVC 框架的架包分析,功能作用,优点

由于刚搭建完一个MVC框架,决定分享一下我搭建过程中学习到的一些东西.我觉得不管你是个初级程序员还是高级程序员抑或是软件架构师,在学习和了解一个框架的时候,首先都应该知道的是这个框架的原理和与其有关j ...

转行IT行业的心路历程3

16年丝袜生意很差的一年,老板的态度也不好,大唐本地人太歧视外地人了.而且我干的不开心没有前途,不能体现自我价值,无论你怎么努力. IT技术行业却不是这样,只要你努力肯学习,一定会有回报的. 在16/ ...

[转].net中的认证(authentication)与授权(authorization)

本文转自:http://www.cnblogs.com/yjmyzz/archive/2010/08/29/1812038.html 注:这篇文章主要给新手看的,老手们可能会觉得没啥营养,就请绕过吧. ...

Codeforces Round #259 (Div. 2)AB

链接:http://codeforces.com/contest/454/problem/A A. Little Pony and Crystal Mine time limit per test 1 ...

access_token的获取2

概述 access_token是公众号的全局唯一票据,公众号调用各接口时都需使用access_token.开发者需要进行妥善保存. access_token的存储至少要保留512个字符空间.acces ...

GNU自动补全模块readline解析

readline模块定义了一系列函数用来读写Python解释器中历史命令,并提供自动补全命令功能.这个模块可以通过relcompleter模块直接调用,模块中的设置会影响解释器中的交互提示,以及内置函 ...

rabbitMQ说明文档

rabbitMQ是什么 RabbitMQ     是由     LShift     提供的一个     Advanced Message Queuing Protocol (AMQP)     的开 ...

SQL Server 2005的服务器角色(public)的问题

SQL Server 默认会有9个服务器角色,而且这些角色是不能删除和新增.修改的.关于这些角色相关介绍和权限,请参考 其中有一个特殊的角色public,任何登录都会属于该角色,它只拥有的权限是VIE ...

EBS应收(AR)模块常用表

 select * from ar_batches_all 事务处理批 select * from ra_customer_trx_all INVOICE头 select * from ra_cu ...

[转]jQuery中clone和clone(true)的区别

jquery中clone() 和 clone(true)的区别. jquery复制 DOM的时候,原来还可以连 dom上面绑定的事件一起复制. 原文: https://www.cnblogs.com/ ...

python鼠标键盘事件代码_Python+selenium鼠标、键盘事件相关推荐

  1. python爬取论文代码_Python selenium爬取微信公众号文章代码详解

    需求: 想阅读微信公众号历史文章,但是每次找回看得地方不方便. 思路: 1.使用selenium打开微信公众号历史文章,并滚动刷新到最底部,获取到所有历史文章urls. 2.对urls进行遍历访问,并 ...

  2. python selenium鼠标点击_python selenium鼠标键盘操作(ActionChains)

    用selenium做自动化,有时候会遇到需要模拟鼠标操作才能进行的情况,比如单击.双击.点击鼠标右键.拖拽等等.而selenium给我们提供了一个类来处理这类事件--ActionChains sele ...

  3. python键盘键值表_Python怎么记录键盘鼠标敲击次数|Python统计鼠标点击次数 - PS下...

    看手工耿突发奇想,自己是否也能搞个有意义的脑残程序,于是想到自己能否也统计一下自己敲击键盘的内容?其实一直都有这个想法,今天终于实现这个小心思.网上搜了下已经有别人做过了.于是乎,借鉴了一些别人的程序 ...

  4. python tkinter获取屏幕大小_Python使用鼠标滚轮调整tkinter应用程序窗口大小

    图书推荐:<Python程序设计基础与应用>(ISBN:9787111606178),董付国,机械工业出版社 图书详情:用书教师可以联系董老师获取教学大纲.课件.源码.教案.考试系统等配套 ...

  5. python模拟屏幕点击_python模拟鼠标点击教程

    pip install -i https://pypi.tuna.tsinghua.edu.cn/simple  pywin32 pip install  pyHook?1.5.1?cp37?cp37 ...

  6. python怎么模拟鼠标移动点击_Python模拟鼠标点击——如何正确的肝阴阳师

    本来嘛,说好了要写Selenium自动化搜电影的笔记的,然后正好今天上课无聊玩阴阳师开了个SSR,发现还有600体!准备怒刷之,但是又肝不动了.打算尝试用Python写个脚本来代替我自动点击(PC端, ...

  7. python 模拟键盘_python+selenium模拟键盘输入

    from selenium.webdriver.common.keys import Keys #键盘导入类 --------------------------------------------- ...

  8. python爬取酒店信息_python selenium爬取去哪儿网的酒店信息(详细步骤及代码实现)...

    准备工作 1.pip install selenium 2.配置浏览器驱动.配置其环境变量 Selenium3.x调用浏览器必须有一个webdriver驱动文件 Chrome驱动文件下载chromed ...

  9. python接水果游戏代码_Python开发接水果小游戏编程

    我研发的Python游戏引擎Pylash已经更新到1.4了.现在我们就来使用它完成一个极其简单的小游戏:接水果.以下是游戏截图: vc/yvPy/2NbGyMvO79LGtq+jrMq5yMvO79P ...

  10. 跟随鼠标走html代码,div跟随鼠标移动

    用到的三个鼠标事件: onmousedown: 当鼠标按下 onmousemove:当鼠标移动 onmouseup:当鼠标松开 思路:动态监听鼠标位置,给div设置绝对定位(display: abso ...

最新文章

  1. cisco switch
  2. python setup用法_python的构建工具setup.py的方法使用示例
  3. Kafka 对比 ActiveMQ
  4. java 8 集合分组_Java 8:按集合分组
  5. rcu宽限期_如何处理宽限期错误:静默失败不是一种选择
  6. 数据分析不能挣钱、不能给公司创造利润,那要你有什么用?
  7. 华为云车联网解决方案
  8. jQuery学习笔记--JqGrid相关操作 方法列表(上)
  9. opencv之imread()
  10. MacOS ClashX 配置代理端口为0问题7890 配置iterm2终端代理
  11. 重置计算机命令行,怎么用系统命令来重置网络设置
  12. MYSQL数据库管理与应用
  13. vs2019键盘钩子_低级键盘钩子回调函数
  14. Java知识梳理——可达性分析方法原理 finalize
  15. 实践数据湖iceberg 第十一课 测试分区表完整流程(造数、建表、合并、删快照)
  16. Axure谷歌浏览器Chrome扩展程序安装方法
  17. 一文说透hive中的分桶及抽样查询
  18. 2022小美赛认证杯数学建模D题完整原创成品来啦!
  19. 中国蚁剑连接一句话木马
  20. 数据结构—邻接矩阵存储法代码实现

热门文章

  1. B - Catch That Cow(广度搜索)
  2. DFS(深度优先搜索,附例题)
  3. 如何安装mysql8.0后配置_MYSQL8.0安装配置
  4. 斯坦福人工智能与图像处理_斯坦福大学设计新型AI摄像头,能更快对图像进行分类...
  5. linux最小化连接开放wifi,CentOS最小化安装后启用无线连接网络
  6. 主题等.ppt及活动内容.ppt文档规范要求
  7. mysql 几个超时参数(timeout)解释
  8. Linux shell 数组
  9. 用Node编写RESTful API接口
  10. PHP 代码规范简洁之道