前面我们学习点击控件操作指的是鼠标左键单击,那么鼠标双击,右击,拖动,悬停等等操作操作等等该如何使用呢?

同样我们学习的向控件内输入文本,这个属于键盘操作,但是键盘还有更多的复杂操作,比如:Ctrl+A、 Ctrl+C 等等各种组合键操作。本机课我们就来学习这些知识。

鼠标操作

在 WebDriver 中,将这些关于鼠标操作的方法封装在 ActionChains 类提供。

ActionChains 类提供了鼠标操作的常用方法:

perform(): 执行所有 ActionChains 中存储的行为;

context_click(): 右击;

double_click(): 双击;

drag_and_drop(): 拖动;

move_to_element(): 鼠标悬停。

我们给大家举例鼠标悬停操作如果写代码,其它的操作行为,大家可以自行试验,多动动手对自己的编码能力提高有很大的帮助。

from selenium import webdriver

from selenium.webdriver.common.action_chains import ActionChains # 导入提供鼠标操作的 ActionChains 类。

driver = webdriver.Chrome()

driver.get("https://www.baidu.cn")

above = driver.find_element_by_link_text("设置")

'''

对定位到的元素执行鼠标悬停操作

1.调用 ActionChains()类: 将浏览器驱动 driver 作为参数传入。

2.move_to_element(above):将要移动鼠标到这个 above 这个元素上

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

'''

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

键盘操作

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+V)

send_keys(Keys.F1) 键盘 F1

……

send_keys(Keys.F12) 键盘 F12

我们给大家举例说明以上函数如何使用。

from selenium import webdriver

from selenium.webdriver.common.keys import Keys # 引入 Keys 模块

driver = webdriver.Chrome()

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

driver.find_element_by_id("kw").send_keys("seleniumm") # 输入框输入内容

driver.find_element_by_id("kw").send_keys(Keys.BACK_SPACE) # 删除多输入的一个 m

driver.find_element_by_id("kw").send_keys(Keys.SPACE) # 输入空格键

driver.find_element_by_id("kw").send_keys(Keys.CONTROL, 'a') # ctrl+a 全选输入框内容

driver.find_element_by_id("kw").send_keys(Keys.CONTROL, 'x') # ctrl+x 剪切输入框内容

driver.find_element_by_id("kw").send_keys(Keys.CONTROL, 'v') # ctrl+v 粘贴内容到输入框

driver.find_element_by_id("su").send_keys(Keys.ENTER) # 通过回车键来代替单击操作

driver.quit()

python记录鼠标和键盘操作并重复_鼠标和键盘操作相关推荐

  1. vba模拟鼠标点击_鼠标键盘模拟大师下载_鼠标键盘模拟大师免费版官方下载6.2...

    鼠标键盘模拟大师是目前国内唯一一款将鼠标自动点击.键盘自动输入.网页自动刷新和自动切换IP地址等功能完美结合与一体的鼠标键盘动作模拟软件,可以实现桌面及游戏的自动点击和按键点击等功能,有需要的小伙伴快 ...

  2. ikbc机械键盘打字出现重复_抖音开啤酒小姐姐同款面具,ikbc白无垢樱花机械键盘开箱体验...

    现如今机械键盘同质化越来越严重,就跟智能手机领域一样,不看看背面的LOGO的话,还真没法认出是哪家的.目前,对于绝大多数人来说,还是属于颜值党的,总之,帅就完事了.外设圈很小,愿意掏几百块买一把键盘的 ...

  3. ikbc机械键盘打字出现重复_双十一机械键盘优惠清单,阿米洛/ikbc/吉利鸭/杜咖/美商海盗船/雷神/Filco机械键盘推荐...

    这次为大家带来的是一篇双十一机械键盘的优惠汇总清单,其中杜咖的优惠力度较大,高斯的性价比很高,然后阿米洛则推出了好几款双十一限定款,我们一起来看看吧~ TOP1.罗技(Logitech)K835 原价 ...

  4. sun键盘没有stop键_请教Sun键盘

    请教Sun键盘 (2011-12-24 06:01:11) 标签: 计算机 杂谈 请教Sun键盘Sun键盘上,Help和F1之间的空白键是干啥的? Space旁边的两个菱形标志的呢?Compose呢? ...

  5. java键盘监听延迟_解决JAVA键盘监听的延迟现象以及八个方向的运动

    首先解释一下键盘出现延迟的原因: 其实键盘为了用户体验,在按下一次按键之后,会有片刻的延迟,为什么会这样呢? 你想一下,当你打一个字母时,连着出来了好几个字母,你心里面的感受是怎么样的? 所以嘛,键盘 ...

  6. python为啥爬取数据会有重复_利用Python来爬取“吃鸡”数据,为什么别人能吃鸡?...

    原标题:利用Python来爬取"吃鸡"数据,为什么别人能吃鸡? 首先,神装镇楼 背景 最近老板爱上了吃鸡(手游:全军出击),经常拉着我们开黑,只能放弃午休的时间,陪老板在沙漠里奔波 ...

  7. ikbc机械键盘打字出现重复_只做精品的ikbc机械键盘:静音+六键无冲,180天续航...

    #热点快报# 在科技快速发展的情况下,我们的生活和工作似乎都离不开电脑了,而除了出色的配置之外,鼠标和键盘也是我们所必备的,鼠标的重要性不言而喻,而键盘作为操作电脑的基础,而且也是主要的输入方式,俗话 ...

  8. ikbc机械键盘打字出现重复_超小无线机械键盘,绝佳移动打字体验

    NuType 筹资信息 产品名称NuType 上线平台Kickstarter 发起团队NUPHY 发起地区中国香港 目标金额80,000HKD 筹集金额1,301,212HKD 完全进度1,627% ...

  9. python为啥爬取数据会有重复_使用python爬取B站千万级数据

    Python(发音:英[?pa?θ?n],美[?pa?θɑ:n]),是一种面向对象.直译式电脑编程语言,也是一种功能强大的通用型语言,已经具有近二十年的发展历史,成熟且稳定.它包含了一组完善而且容易理 ...

  10. ikbc机械键盘打字出现重复_机械键盘轴体你最爱谁?ikbc新品键盘评测:我爱红轴,不解释!...

    最近段时间想必不少小伙伴都已经开始走上了复工的道路,但是很遗憾,由于工作岗位的特殊性,我还是被安排在了家里.在家里办公和娱乐环境都是挺好,唯一的遗憾就是对于家中的键盘不太满意,又想到漫漫无期的工作时长 ...

最新文章

  1. AI时代:推荐引擎正在塑造人类
  2. TiDB 源码阅读系列文章(十八)tikv-client(上)
  3. Opengl编程学习笔记(五)——从FRAGMENT到PIXEL(framebuffer 帧缓存)
  4. 我的Android进阶之旅------Java字符串格式化方法String.format()格式化float型时小数点变成逗号问题...
  5. 扩展Ext2类 Extending Ext2 Class
  6. python处理csv数据-Python处理csv文件
  7. IE – File - Work Offline
  8. Java的代理模式之静态代理和动态代理
  9. 赢在CSDN——如何在CSDN赚到一桶金
  10. C语言事实上不简单:sizeof
  11. AvalonDock学习总结
  12. 剑指Offer之二维数组中的查找
  13. 2016年最经典的高仿系列源码打包下载4.84G
  14. 程序员就业3年,月薪才2万,很丢人吗?
  15. Gradle系列【2】Groovy基础语法篇
  16. VS2013 ocx去除安全警告
  17. [译] 用 30 分钟建立一个网站的方式来学习 Bootstrap 4
  18. Android camera角度问题
  19. java cache定时过期,本地缓存高性能之王Caffeine
  20. kinect-kinect v1硬件介绍

热门文章

  1. mac pdf去水印_mac如何去除视频水印
  2. 把统计代码改成“量子统计”了
  3. 网络安全等级保护-信息安全管理制度汇编参考
  4. 《控制论导论》读书:机构-黑箱
  5. java 字符串占位符动态替换值工具类
  6. Zip即将复辟?免费是WinRAR的终极武器
  7. oracle没有卸载,oracle卸载没有正确卸载怎么办?
  8. 【书山有路】互联网+:从IT到DT 读书笔记
  9. iOS开发-Xcode8兼容iOS7手记
  10. 太阳直射点纬度计算公式_高中地理——每日讲1题(太阳直射点、太阳高度角、影子方向)...