还是在自动化上面的应用,对于web的测试可以使用selenium来获取元素,进行按键控制或者文字输入,模拟用户操作实现自动化。可是对于非web的win桌面应用,我们就没办法了,这时候就需要向按键精灵那样,去查找对应的位置进行点击了。

pip install pyautogui

1.鼠标控制

移动到对应的坐标,然后点击

import pyautogui# 2秒钟鼠标移动到坐标为100,100的位置
pyautogui.moveTo(x=100, y=100, duration=2)# 鼠标左击一次
pyautogui.click()

获取屏幕分辨率,鼠标当前位置

# 获取当前屏幕分辨率
screen_w, screen_h = pyautogui.size()# 获取当前鼠标位置
current_X, current_y = pyautogui.position()

移动到相对位置

#2秒钟鼠标移动到现在鼠标所在位置的相对移动 ,向右移动10,向下移动10
pyautogui.moveRel(xOffset=10, yOffset=10, duration=2)

鼠标单击、双击、右击、中击

# 鼠标左击一次
pyautogui.click()
# 这个函数还有很多参数,可是实现单击、双击、右击、中击,只需要改对应的参数就行
# pyautogui.click(x=None, y=None, clicks=1, interval=0.0, button='left', duration=0.0, tween=pyautogui.linear)# 不过我们一般不使用pyautogui.click()去弄各种击,因为记不住,就使用一下封装好的函数# 鼠标双击
pyautogui.doubleClick()# 鼠标置3击
pyautogui.tripleClick()# 右击
pyautogui.rightClick()# 中击
pyautogui.middleClick()# 鼠标当前位置滚轮滚动
pyautogui.scroll()

鼠标拖拽

#鼠标拖拽
pyautogui.dragTo(x=427, y=535, duration=3,button='left')#鼠标相对拖拽
pyautogui.dragRel(xOffset=100,yOffset=100,duration=,button='left',mouseDownUp=False)#鼠标移动到x=1796, y=778位置按下
pyautogui.mouseDown(x=1796, y=778, button='left')#鼠标移动到x=2745, y=778位置松开(与mouseDown组合使用选中)
pyautogui.mouseUp(x=2745, y=778, button='left',duration=5)

2.键盘控制

输入信息,但是只能输入字符串,不能输入中文

# 2秒钟鼠标移动到坐标为500,500的位置
pyautogui.moveTo(x=500, y=500, duration=2)# 鼠标左击一次
pyautogui.click()# 输入信息
pyautogui.typewrite(message='test',interval=0.5)

按住、放开,键盘上的字符都可以

# 按住shift键
pyautogui.keyDown('shift')
# 放开shift键
pyautogui.keyUp('shift')

按一下

#按一下ESC键
pyautogui.press('esc')

组合键

# 组合键
pyautogui.hotkey('ctrl', 'c')

3.截屏

在实际应用中有一个用法,截取对应位置的文字,然后将图片转化成文字,这个这pytesseract章节说明

# 截取整个屏幕
img = pyautogui.screenshot()
img.save('img.png')# 截取指定位置、大小的图片
img = pyautogui.screenshot(region=[10, 20, 30, 40])  # x,y,w,h
img.save(img)

4.查找图片所在的位置

这个功能还是比较常用的,找到对应的位置,点击

img_location = pyautogui.locateOnScreen(image='img.png')
logging.info("img location %s", img_location)if img_location:# 获取图片的中心位置,然后点击x, y = pyautogui.center(img_location)pyautogui.moveTo(x, y, duration=1)pyautogui.click()logging.info("click img_location...")

7-python库之-pyautogui鼠标键盘控制、图片位置查找相关推荐

  1. Qt Quick 3D学习:使用鼠标键盘控制节点位置和方向

    (注意,开源版的 Qt Quick 3D 是狗都不用的 GPL 协议) Qt Quick 3D 模块提供了  WasdController 类型来控制节点的位置和方向,受控节点一般是 Camera.( ...

  2. python热键+鼠标键盘控制

    python热键+鼠标键盘控制 应用:ctrl+home自动输入文本:home停止 代码:hotkey 应用:ctrl+home自动输入文本:home停止 代码:hotkey #!/usr/bin/e ...

  3. Py之PyAutoGUI:python库之PyAutoGUI的简介、安装、使用方法

    Py之PyAutoGUI:python库之PyAutoGUI的简介.安装.使用方法 目录 PyAutoGUI的简介 PyAutoGUI的安装 PyAutoGUI的使用方法 PyAutoGUI的简介 P ...

  4. openGL绘制带纹理地球,并实现鼠标键盘控制

    openGL系列文章目录 文章目录 openGL系列文章目录 前言 一.绘制球体 二.关键代码 球体类(Sphere) 主函数 顶点着色器 片元着色器 显示效果 源码下载 参考 前言 openGL绘制 ...

  5. Mouse Without Borders 一套鼠标键盘控制多台电脑

    当我的桌子上除了笔记本之外还多了一个台式机后,两个鼠标,两个键盘就显得十分多余,于是开始探索怎样用一套鼠标键盘控制多台电脑... 首先搜到的是这玩意--KVM切换器 在他49个赞的诱惑下,我还去淘宝搜 ...

  6. android 键盘使用教程,用鼠标键盘控制你的Android手机完整图文教程

    网上大都是91助手for android来连接手机和电脑,我自己比较偏向于豌豆荚,都可以的,下面给出我的步骤及过程中遇到的几个小问题,供大家参考! 一.鼠标键盘控制手机教程 1.在PC上,安装豌豆荚, ...

  7. android usb鼠标,用鼠标键盘控制你的Android手机完整图文教程

    网上大都是91助手for android来连接手机和电脑,我自己比较偏向于豌豆荚,都可以的,下面给出我的步骤及过程中遇到的几个小问题,供大家参考! 一.鼠标键盘控制手机教程 1.在PC上,安装豌豆荚, ...

  8. android键盘管理,用鼠标键盘控制你的Android手机完整图文教程

    32路伺服电机控制器V3.0 官方安装版 类型:编程辅助大小:15.0M语言:中文 评分:7.5 标签: 立即下载 网上大都是91助手for android来连接手机和电脑,我自己比较偏向于豌豆荚,都 ...

  9. 一套鼠标键盘控制两台电脑-绝!

    Oliver's R&D Lab C/C++/Linux 一套鼠标键盘控制两台电脑-绝! 这个工具是推荐给双电脑工作人员的,不是的就不用往下看了,嗯. synergy-----按照它主页( h ...

最新文章

  1. oracle XE解决端口占用等问题
  2. android 同步执行方法吗,Android异步方法以同步方式实现
  3. linux编译内核实验,实验六 Linux内核编译实验.doc
  4. webpack [记录]
  5. 2018python做图形界面哪个库简单_2018年常见的python编程开发库都有哪些类型
  6. Spring Boot集成Redis,这个坑把我害惨了!
  7. Call to undefined function imagettftext()解决方法
  8. 采用循环链表结构求解约瑟夫问题
  9. 使用Navicat Premium 同步 测试数据库 与 正式数据库 数据
  10. 动态生成WizardPage
  11. Java IO _打印流
  12. 在校大学生研究生软著申请详解及模板下载
  13. C# ASP.NET WebApi入门
  14. Echarts制作标签云图
  15. 打飞机小游戏html代码,JavaScript用200行代码制作打飞机小游戏
  16. 众安运维监控平台,构建devops一体化监控和运维体系
  17. MATLAB实现最小二乘法
  18. Solidity中文文档(内部)
  19. 图解Stm32使用jlink下载程序时jtag接口(SW和JTAG模式)的简化方法
  20. 【DaVinci Developer专题】-38-Exclusive Area介绍+配置

热门文章

  1. 读书时如何做读书笔记?
  2. 不懂就问:ZooKeeper 集群如何进行数据同步?
  3. MATLAB与Simulink介绍(附上完整联合仿真源码)
  4. 一种三人抢答器的设计
  5. PCCS-RGB变换表
  6. CSS 实现按钮点击动效的套路
  7. 3分钟告诉你什么是商业模式
  8. Python Web 框架-Django day05
  9. 苹果cms二次开发手册之苹果cms自定义API
  10. 中华术数系列之奇门遁甲-手机版