PyAutoGUI 安装

用pip直接安装,可能错误不断,基本都是版本的问题,我是这样安装的,可以尝试一下,能不能成功

pip  install  -i  https://pypi.doubanio.com/simple/  --trusted-host pypi.doubanio.com  pillow==7.1.0
pip  install  -i  https://pypi.doubanio.com/simple/  --trusted-host pypi.doubanio.com  pymsgbox==1.0.6
pip  install  -i  https://pypi.doubanio.com/simple/  --trusted-host pypi.doubanio.com  pygetwindow==0.0.1
pip  install  -i  https://pypi.doubanio.com/simple/  --trusted-host pypi.doubanio.com  pyscreeze==0.1.20
pip  install  -i  https://pypi.doubanio.com/simple/  --trusted-host pypi.doubanio.com  pyautogui==0.9.42

一些基本操作

首先是,关于坐标问题

屏幕左上角坐标是(0, 0),右下角为屏幕分辨率

确定屏幕任意位置的坐标,可以用截图软件,最简单的微信截图也可以,知晓x,y后,带入PyAutoGUI就可以实现相应的操作啦

下面是这个包的一些基本操作,我觉得当面对大量重复的鼠标和键盘操作时,这个包还是挺有用的,就比如那种有很多格式相同的word文件,需要一个一个的打开,然后在固定的位置填入内容或者进行一些操作时,这个包就能用上,当然也可以有其他方式实现。

import pyautogui
import pyperclip
pyautogui.PAUSE = 1 # 意味着所有pyautogui的指令都要暂停一秒# 获得屏幕的分辨率
width, height = pyautogui.size()# 判断坐标是否在屏幕范围内
pyautogui.onScreen(100,200)# 鼠标定位
pyautogui.position() # 当前鼠标位置# 鼠标移动
pyautogui.moveTo(x=1098, y=748, duration=1, tween=pyautogui.easeInOutQuad) # 绝对坐标
pyautogui.moveRel(None, 50) # 相对坐标,以当前鼠标所在位置为基点  鼠标向下移动10像素
pyautogui.moveRel(-200, 50) # 向右200,向下50# 鼠标点击
pyautogui.mouseDown()   #按下鼠标按键(左键)
pyautogui.mouseUp()     #释放鼠标按键(左键)
pyautogui.click()  #单击,一次鼠标点击包括按下和弹起
pyautogui.click(x=1098, y=748) # 默认鼠标左键 left
pyautogui.click(x=1098,y=748,button='left')
pyautogui.click(x=1098,y=748,button='right')
pyautogui.click(x=1098,y=748,button='middle')
pyautogui.rightClick()  #单击鼠标右键
pyautogui.middleClick() #单击鼠标中键
pyautogui.click(clicks=2) # 双击
pyautogui.doubleClick(x=1098,y=748,button="left") # 双击
pyautogui.click(button='right', clicks=3, interval=0.25) # 三击# 鼠标移动后点击
pyautogui.click(x=1098,y=748,button='left')
pyautogui.click(x=1098,y=748,button='right'# 鼠标拖拽(按下鼠标键并拖动鼠标)
# 鼠标拖曳,指从当前位置按下鼠标,移动至目标位置再释放的过程
pyautogui.dragTo(385,262,duration=1)  # 绝对,按下鼠标键不放,同时移动鼠标
pyautogui.dragRel(100,500,duration=4)  # 相对# 鼠标滚动
pyautogui.click(x=387,y=746,button='left')
pyautogui.scroll(300)  # 向下滚动300个单位
pyautogui.hscroll(10) #  向右/左滚动 # 键盘操作
pyautogui.keyDown('shift') #按键按下shift
pyautogui.keyDown('alt')
pyautogui.keyUp('alt')  # 按键释放pyautogui.press('esc') # 就是调用keyDown() & keyUp(),模拟一次按键
pyautogui.press(['left', 'left', 'left', 'left', 'left', 'left']) #连续按键left# 按下键盘组合键
pyautogui.hotkey('win', 'r')
pyautogui.hotkey('ctrl', 'v')   # 组合键
pyautogui.hotkey('alt', 'tab')   # 组合键
pyautogui.hotkey('ctrl', 'shift', 'esc') #调出任务管理器# 输入文本
pyautogui.typewrite('Hello world!', interval=0.1) #模拟输入
pyautogui.typewrite(['a','b','left','left','X','Y']) #可以传入单字母的列表
pyautogui.typewrite(['T','i','s','left','left','h',])   # 键盘特殊顺序输出,输出:This# 截全屏
im1 = pyautogui.screenshot()
im1.save('11.png')
im2 = pyautogui.screenshot('11.png')
im = pyautogui.screenshot(r'12.png',region=(0, 0, 300, 400))# 截取部分屏幕# 消息窗口
...

1 自娱自乐:微信信息轰炸

用截图软件,找到微信的位置,然后对某个对象,进行信息轰炸,哈哈

import pyautogui
import pyperclip
# pip  install  -i  https://pypi.doubanio.com/simple/  --trusted-host pypi.doubanio.com  pyperclip# 用截图软件确定微信的位置
# duration类似于移动时间或移动速度,省略后则是瞬间移动到指定的位置
pyautogui.moveTo(x=1098, y=748, duration=1, tween=pyautogui.easeInOutQuad)
pyautogui.click()  #单击
# 找到输入框(这里已经确定好要发的对象)
pyautogui.moveTo(x=656, y=552, duration=0.5, tween=pyautogui.easeInOutQuad)
pyautogui.click()  #单击
# 循环10次
for i in range(10):pyperclip.copy('信息轰炸,不要管我!')pyautogui.hotkey('ctrl', 'v')   # 组合键pyautogui.press('enter')

可以直接一步到位

import pyautogui
import pyperclip
pyautogui.click(x=1098, y=748,duration=1,button='left')
pyautogui.click(x=656, y=552,duration=1,button='left')
for i in range(10):pyperclip.copy('信息轰炸,不要管我!')pyautogui.hotkey('ctrl', 'v')   # 组合键pyautogui.press('enter')

乱发消息

import random
zimu = ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', \'m', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z']
pyautogui.click(x=1098, y=748,duration=1,button='left')
pyautogui.click(x=656, y=552,duration=1,button='left')
for i in range(10):# interval用于设置输入的速度pyautogui.typewrite(random.sample(zimu, 4)+['space'], interval=0.1)pyautogui.press('enter')

2 自娱自乐:操作浏览器

import pyautogui
import pyperclip
# pip  install  -i  https://pypi.doubanio.com/simple/  --trusted-host pypi.doubanio.com  pyperclip
import time
pyautogui.click(x=340, y=753,duration=1,button='left') # 点击浏览器
pyautogui.click(x=101, y=83,duration=1,button='left') # 点击收藏栏中的百度图标
time.sleep(3) # 要缓一下
pyautogui.click(x=394, y=312,duration=1,button='left') # 在百度输入框,输入内容
pyperclip.copy('卖山楂啦prss')
pyautogui.hotkey('ctrl', 'v')   # 组合键,输入内容
pyautogui.press('enter')
pyautogui.click(x=400, y=248,duration=1,button='left') # 点击第一个搜索结果

运行代码段是我在操作,之后就是程序自动执行了

3 自娱自乐:自动填写表单

import time
import pyautogui as pag
import webbrowserwebbrowser.open_new("https://formsmarts.com/html-form-example")
#Let the web browser finish loading before clicking (sleep for 2 seconds)
time.sleep(3)pyautogui.moveTo(x=1357, y=207, duration=1, tween=pyautogui.easeInOutQuad)
pag.dragTo(1356,431,duration=1)  # 绝对,按下鼠标键不放,同时移动鼠标pyautogui.click(x=419, y=265,duration=1,button='left') # First Name
pyperclip.copy('Tan')
pyautogui.hotkey('ctrl', 'v')   # 组合键,输入内容pyautogui.click(x=435, y=316,duration=1,button='left') # Last Name
pyperclip.copy('GGG')
pyautogui.hotkey('ctrl', 'v')   # 组合键,输入内容pyautogui.click(x=456, y=365,duration=1,button='left') # 邮箱
pyperclip.copy('123@qq.com')
pyautogui.hotkey('ctrl', 'v')   # 组合键,输入内容pyautogui.click(x=438, y=411,duration=1,button='left') # Subject of Your Inquiry
pyautogui.click(x=446, y=461,duration=1,button='left') # Subject of Your Inquirypyautogui.click(x=436, y=459,duration=1,button='left') # Inquiry
pyperclip.copy('今天你真好看!')
pyautogui.hotkey('ctrl', 'v')   # 组合键,输入内容pyautogui.click(x=418, y=649,duration=1,button='left') # 点击继续

如果读者要尝试的话,可能需要换一下里面的坐标,我的屏幕分辨率((1366, 768))和你的可能不一样

参考:https://mp.weixin.qq.com/s/JTM_Wqkqe3ddnRhd-nmIxQ

PyAutoGUI 自动控制鼠标和键盘操作(三个小案例)相关推荐

  1. 通过python里面的pyautogui自动化控制鼠标和键盘操作

    PyAutoGUI是一个纯Python的GUI自动化工具,其目的是可以用程序自动控制鼠标和键盘操作,多平台支持(Windows,OS X,Linux). 安装 pip3 install pyautog ...

  2. pyautogui自动化控制鼠标和键盘操作

    pyautogui自动化控制鼠标和键盘操作 安装 pyautogui鼠标操作样例 pyautogui键盘操作样例 按键支持 提示信息 alert option password prompt 截屏 整 ...

  3. python反恐精英基础版_cs客户端自动化控制鼠标和键盘操作,python+pyautogui

    PyAutoGUI是一个纯Python的GUI自动化工具,其目的是可以用程序自动控制鼠标和键盘操作,多平台支持(Windows,OS X,Linux). 安装 pip3 install pyautog ...

  4. python实现自动按键_Python使用pyautogui模块实现自动化鼠标和键盘操作示例

    本文实例讲述了Python使用pyautogui模块实现自动化鼠标和键盘操作.分享给大家供大家参考,具体如下: 一.pyautogui模块简要说明 ## 使用 pyautogui 模块相关函数,可以模 ...

  5. pyautogui库自动化控制鼠标和键盘操作

    常用操作 import pyautoguipyautogui.PAUSE = 1 # 调用在执行动作后暂停的秒数,只能在执行一些pyautogui动作后才能使用,建议用time.sleep pyaut ...

  6. 从零开始编写Web自动化测试脚本(六)--鼠标、键盘操作

    第一章 Selenium+WebDriver环境搭建 第二章 Selenium定位方式 第三章 元素常用属性 第四章 自动化中的三种等待 第五章 自动化浏览器设置及句柄.窗口切换操作 第六章 鼠标.键 ...

  7. Qt学习day04 资源和图像 目录和定时器 鼠标和键盘操作

    一 资源和图像 1 资源编译器(rcc) 1)创建资源脚本(.qrc) vi test.qrc 0.jpg 2)将资源脚本中描述的图片转换为C++的源文件 rcc test.qrc -o qrc_te ...

  8. 控制台模拟鼠标、键盘操作

    控制台模拟鼠标.键盘操作 模拟鼠标.键盘操作,能让命令行顿然强大,想想,制作批处理版屏幕键盘等都不在话下(已制作过,效果很不错).虽然这也跟CUI无关.本教程教会你如何让命令行模拟鼠标.键盘的操作. ...

  9. 怎么检测用户多长时间没有鼠标与键盘操作

    2019独角兽企业重金招聘Python工程师标准>>> 怎么检测用户多长时间没有鼠标与键盘操作 如何检测用户多长时间没有鼠标与键盘操作? 如何检测用户多长时间没有鼠标与键盘操作?   ...

最新文章

  1. Python 编写一个有道翻译的 workflow 教程
  2. Hadoop伪分布式环境搭建
  3. MySQL内存管理,内存分配器和操作系统
  4. 计算机组成原理国防科大课件,中科大计算机组成原理课件ppt.pdf
  5. 爬虫:Charles证书设置为系统信任证书(root)
  6. Ubuntu如何搭建Django与Flup和Nginx环境?
  7. Spark SQL 编程API入门系列之SparkSQL数据源
  8. 禁止进入activity后EditText自动获得焦点的方法
  9. Kali Linux学习之arp地址欺骗
  10. 这些solidworks工程图模板知识你都知道吗?
  11. jquery 库下载地址http://www.jq22.com/jquery-info122
  12. 桂林理工大学 就业指导 2021 创业项目计划书样本
  13. 到底什么是dp思想(内含大量经典例题,附带详细解析)
  14. 计算机用老毛桃u盘备份系统,老毛桃u盘启动盘ghost备份系统操作步骤
  15. 电商API:淘宝/天猫获取sku详细信息
  16. DevOps推广实践总结
  17. 【测试】18.系统测试及类型
  18. 大数据风控项目实战 Drools规则引擎
  19. 无边落木萧萧下,不尽长江滚滚来。
  20. 手柄映射键盘_创新设计的多模手柄,北通宙斯T6精英机械游戏手柄体验点评

热门文章

  1. 项目管理之项目合同变更
  2. 批量清除Maven本地仓库下载失败的垃圾文件
  3. Java学习总结-汇总
  4. Centos安装到U盘的详细方法
  5. 2021的科技卦象·离·烈火烹油造车热
  6. excel计算合并单元格数量
  7. Java 多个List合并
  8. pandas中将每一行数据拆分成多行的方法
  9. 用Python pyecharts v1.x 绘制图形(二):折线图、折线面积图、散点图、雷达图、箱线图、词云图
  10. 气传导耳机什么牌子好、十大气传导耳机品牌推荐