pyautogui typewrite_解放双手:Pyautogui帮你work

今天介绍一个很有用的python库——Pyautogui,它可以通过屏幕的xy坐标系统来确定目标位置,进而控制鼠标和键盘发送虚拟的点击和输入任务。这对于你要完成机械重复枯燥的电脑操作来说非常地方便。

安装Pyautogui库很简单,命令窗口输入:

pip install pyautogui

1 Pyautogui的坐标轴系统

Pyautogui的鼠标函数使用想x,y坐标,原点在屏幕的左上角,向右为x轴正方向,向下为y轴正方向。知道了这个就可以任意定位屏幕上的点啦。

2ad4becbca749a9b20a42f52716f3d1e.png

不过,想要准确知道屏幕上的坐标也不是一件容易的事,这里推荐一个超级好用的工具——FastStone Capture 。这个小工具除了定位坐标,还能各种花式截图,包括形状截图,滚动截图,并且还能录制屏幕,取色。

2 控制鼠标

(1)确定鼠标当前位置

pyautogui.position() #确定鼠标当前位置,返回x,y坐标的元组

(2)移动

pyautogui.moveTo(x,y[,duration = t]) # 将鼠标移动到屏幕指定位置, #x,y是目标位置的横纵坐标,duration指定鼠标光标移动到目标位置 #所需要的秒数,t可以为整数或浮点数,省略duration参数表示 #立即将光标移动到指定位置(在PyAutoGUI函数中,所有的duration #关键字参数都是可选的) #Attention:所有传入x,y坐标的地方,都可以用坐标x,y #的元组或列表替代,(x,y)/[x,y]pyautogui.moveRel(x,y[,duration = t]) #相对于当前位置移动光标, #这里的x,y不再是目标位置的坐标,而是偏移量, #如,pyautogui.moveRel(100,0,duration=0.25) #表示光标相对于当前所在位置向右移动100个像素

(3)点击

完整的点击:按下鼠标按键,然后放开,同时不移动位置

pyautogui.mouseDown() #按下鼠标按键(左键)pyautogui.mouseUp() #释放鼠标按键(左键)pyautogui.click() #向计算机发送虚拟的鼠标点击(click()函数只是前面两个函数调用的方便封装) # 默认在当前光标位置,使用鼠标左键点击pyautogui.click([x,y,button='left/right/middle']) #在(x,y)处点击鼠标左键、右键、中键 #但不推荐使用这种方法,下面这种方法效果更好 #pyautogui.moveTo(x,y,duration=t) #pyautogui.click()pyautogui.doubleClick() #双击鼠标左键pyautogui.rightClick() #单击鼠标右键pyautogui.middleClick() #单击鼠标中键

(4)拖动

拖动:按住一个键不放,同时移动鼠标

pyautogui.dragTo(x,y[,duration=t) # 将鼠标拖动到指定位置 #x,y:x坐标,y坐标pyautogui.dragRel(x,y[,duration=t]) # 将鼠标拖动到相对当前位置的位置 #x,y:水平移动, 垂直移动

(5)滚动

pyautogui.scroll() #控制窗口上下滚动(滚动发生在鼠标的当前位置) #正数表示向上滚动,负数表示向下滚动, #滚动单位的大小需要具体尝试

点击鼠标的动作最好跟time.sleep使用,来控制点击速度,不然太快不好掌握。最近我DEFORM要计算的DB文件太多了,为了赶时间,我想让程序晚上也能计算。但我要睡觉啊,所以就写了下面一个很简单的例子。

import pyautogui as ptimport timei = 1pt.moveTo(422,141) #移动到第一个DB文件处time.sleep(2) #停顿2spt.click(button='left') #选中DB文件while i<11: #11个DB文件 pt.moveTo(756,69) #移到运算按钮 time.sleep(2)   #停顿2s pt.click(button='left') #点击运算按钮 pt.moveTo(950,545) #移到确定按钮 pt.click(button='left') #点击确定按钮 time.sleep(1800) #等待DEFORM一个DB文件算完 pt.moveTo(422,141+i*21) #移到下一个DB time.sleep(2) pt.click(button='left') #点击下一个DB i+=1

3 控制键盘

(1)输入字符串

直接通过typewrite方法输入字符串,这种方法不能输入中文,不过可以通过切换成中文输入法达到输入中文的目的。

pyautogui.typewrite(s[,duration=t]) #向文本框发送字符串 #可选的duration参数在输入单个字符之间添加短暂的时间暂停 #Attention:只能用于输入英文

切换中文输入法后输入下面代码,能打出"王"字,当然还要配合enter键使用。

pt.typewrite('wang')

(2)输入键字符串

用来输入Shift键、ESC键、箭头键等不能通过字符文本来输入的

pyautogui.typewrite([键盘键字符串]) #除了单个字符串,还可以向typewrite()函数传递键字符串的列表 #如 pyautogui.typewrite(['a','b','left','left','X','Y']) #按'a'键,'b'键,然后按左箭头两次,然后按'X'和'Y' #输出结果为XYabpyautogui.keyDown() #根据传入的键字符串,向计算机发送虚拟的按键(按下)pyautogui.keyUp() #根据传入的键字符串,向计算机发送虚拟的释放(释放)pyautogui.press() #前面两个函数的封装,模拟完整的击键(按下并释放)

注意,输入键盘字符串的时候括号里面的中括号不能少,不然就变成输入字符串了,keyUp,keyDown,press方法是模拟按键盘的操作达到输入字符。同样,也可以通过切换中文输入法来输入中文。比如下面的代码可以打出一个"玩"。

pt.keyDown('w')pt.keyDown('a')pt.keyDown('n')

只能一个一个拼音输入,略显麻烦!

完整键字符串:

键盘键字符串 含义'a','b','c','A','C','1','2','3', 单个字符的键'!','@','#'等'enter' 回车'esc' ESC键'shiftleft','shiftright' 左右Shift键'altleft','altright' 左右Alt键'ctrlleft','ctrlright' 左右Ctrl键'tab'(or '') Tab键'backspace','delete' Backspace键和Delete键'pageup','pagedown' Page Up 和Page Down键'home','end' Home键和End键'up','down','left','right' 上下左右箭头键'f1','f2','f3'等 F1至F12键'volumemute','volumeup',volumedown' 静音,放大音量和减小音量键'pause' 暂停键'capslock','numlock','scrolllock' Caps Lock,Num Lock和 Scroll Lock键'insert' Insert键'printscreen' Prtsc或Print Screen键'winleft','winright' 左右Win键(在windows上)'command' Command键(在OS X上)'option' Option键(在OS X上)

(3)快捷键组合:

pyautogui.hotkey('ctrl','c') #按住Ctrl键,然后按C键,然后释放C键和Ctrl键 #相当于pyautogui.keyDown('ctrl')pyautogui.keyDown('c')pyautogui.keyUp('c')pyautogui.keyUp('ctrl')

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/502002.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

win7 右键计算机 服务 设备管理器,win7系统计算机右键菜单添加设备管理器的操作方法...

今天和大家分享一下关于对win7系统计算机右键菜单添加设备管理器设置的方法&#xff0c;在使用win7系统的过程中经常不知道如何去对win7系统计算机右键菜单添加设备管理器进行设置&#xff0c;有什么好的办法去设置win7系统计算机右键菜单添加设备管理器呢&#xff1f;在这里小…

年月跨度_不畏困难,砥砺前行 ——国内最大跨度管桁架工程成功首滑

8月3日下午&#xff0c;由陕建机施(江苏)第二总部第一工程公司承建的330米大跨度管桁架工程——芜湖新兴铸管综合料场封闭工程顺利实现首跨滑移&#xff0c;创下国内最大跨度管桁架工程滑移记录。该工程包含一个管桁架主体大棚结构&#xff0c;两个东西毗屋网架附属结构以及一个…

python 定时器_python定时器apscheduler及一个django的小tips

类似于windows系统里的计划任务&#xff0c;需要按特定的时间周期&#xff0c;去调度执行一项任务。python里有apscheduler组件。分有阻塞式与非阻塞式&#xff0c;如下是阻塞式&#xff0c;就是不需要自己去写循环。from apscheduler.schedulers.background import BlockingSc…

八年级计算机教学论文,初二数学教学论文范文

初二数学教学论文范文在人类历史发展和社会生活中&#xff0c;数学发挥着不可替代的作用&#xff0c;也是学习和研究现代科学技术必不可少的基本工具。下面是小编为你带来的 初二数学教学论文范文&#xff0c;欢迎阅读。摘要&#xff1a;随着我国新课标教育改革的不断深化&…

网站能拿到其他网站的cookie_在网站推广中企业网站能发挥哪些作用?(一)

相信大家都知道&#xff0c;在如今这个互联网环境下的市场中&#xff0c;企业必须借助互联网的便利才能寻求更加长远的发展。而要做到这些&#xff0c;首先就要求企业建立自己的企业网站。企业网站如此重要&#xff0c;接下来易推网将为大家分析在网站推广中企业网站能发挥的作…

猎户座计划软件测试,四核配置跑分:猎户座4412性能强劲_平板电脑评测-中关村在线...

四核配置跑分&#xff1a;猎户座4412性能强劲硬件配置方面&#xff0c;纽曼Q10采用三星Exynos 4412猎户座处理器&#xff0c;搭载1GB DDR3内存&#xff0c;16GB存储空间(可通过TF存储卡扩展至32GB)&#xff0c;预装Android 4.0操作系统&#xff0c;内置蓝牙4.0模块&#xff0c;…

蛋糕是叫胚子还是坯子_教你做巧克力淋面蛋糕,掌握这个配比,好看又好吃,10分钟做一个...

淋面蛋糕不知道从什么时候开始非常流行&#xff0c;它唯美的流淌线条&#xff0c;以及简洁的造型受到很多人的喜爱&#xff0c;这对于没有任何裱花基础的小伙伴来说真是福音&#xff0c;过生日不用再去蛋糕店订蛋糕&#xff0c;而是亲手为家人制作更有意义的蛋糕&#xff0c;虽…

mysql begin end 用法_MySQL ------ 游标(CURSOR)(二十六)

MySQL执行检索操作会返回一组称为结果集的行&#xff0c;这组返回的行都是与SQL 语句相匹配的行&#xff08;零行或多行&#xff09;&#xff0c;但是&#xff0c;使用简单的select 语句&#xff0c;没有办法得到第一行、下一行、或前十行&#xff0c;也不存在一行地处理所有行…

treeview控件怎么折叠_拍摄的视频闪烁怎么办?一招就能搞定,电脑手机都适用...

视频拍摄/视频剪辑教程/新媒体大家好我是学拍视频剪辑的黑米老师很多剪辑师在剪辑时&#xff0c;总会收到一些视频画面闪烁的素材&#xff0c;这是因为机器观察到的色彩和人肉眼观察到的色彩不一样&#xff0c;当曝光变化比较明显时&#xff0c;机器会捕捉到一些肉眼观察不到的…

rocketmq 消息指定_进大厂必备的RocketMQ你会吗?

点击关注"故里学Java"右上角"设为星标"好文章不错过关于消息队列&#xff0c;相信大家都不陌生&#xff0c;现在的中大型项目中或多或少都有使用到消息队列&#xff0c;对于消息队列大家可能都有一定的了解&#xff0c;使用消息队列可以解决什么样的问题&a…

秦丝软件的服务器稳定吗,强烈推荐 | 最好的五款服装进销存软件排名

随着企业的发展和市场的需要&#xff0c;传统的手工记录法复杂而繁琐&#xff0c;且错误较多费时费力&#xff0c;尤其是服装行业&#xff0c;涉及的品牌众多&#xff0c;需要管理的货品数量多&#xff0c;质量参差不齐&#xff0c;经营管理越来越困难。在此&#xff0c;小编为…

c语言putchar_C语言实现变色的心!连机器都会变心,呵,男人!

各位&#xff0c;今天我们用C语言来秀一把&#xff0c;给大家带来一个会自动变色的心&#xff1a;怎么样&#xff0c;效果还可以吧&#xff01;其实这个实现的原理还是比较简单的&#xff0c;为了让窗口别跟控制台那样难看&#xff0c;我调用了system函数对窗口的大小、颜色和标…

git灰度发布版本_Git发布2.30版本

Git 2.30版本已于北京时间今天凌晨3点发布&#xff0c;是该广受欢迎的分布式修订版本控制系统的最新稳定版本更新&#xff0c;Git由Linux内核发明者Linus大神于2005年推出。2020年早些时候&#xff0c;Git 2.28版本带来了对可配置/默认分支名称的支持&#xff0c;以取代到目前为…

匿名的ftp服务器不允许用户上传文件对吗,FTP服务器匿名用户也能上传文件的配置...

FTP服务器匿名用户也能上传文件的配置[日期&#xff1a;2006-12-05]来源&#xff1a;作者&#xff1a;[字体&#xff1a;大 中 小]环境:RedHat 7.3 wu-ftp-2.6.2 proftpd-1.2.4步骤:1.wu-ftpa.从RedHat的光盘上安装wu-ftpd-2.6.2-5.i386.rpm和anonftp-4.0-9.i386.rpm这两个包# …

mongdb2008puls4.0.3安装_Mathematica 10.3安装教程

软件下载[软件名称]&#xff1a;Mathematica v10.3[软件语言]&#xff1a;简体中文 [软件大小]&#xff1a;2.26G[安装环境]&#xff1a;Win10/Win8/Win7&#xfeff;&#xfeff;&#xfeff;[下载链接]&#xff1a;https://pan.baidu.com/s/1fDUUrR-W8IIj8Dem3YZMrQ[提取码]&…

python接口 同花顺_利用python探索股票市场数据指南

虽然同花顺之类的金融理财应用的数据足够好了&#xff0c;但还是有自己定制的冲动, 数据自然不会不会比前者好很多&#xff0c;但是按照自己的想法来定制还是不错的。目标通过免费的数据接口获取数据&#xff0c;每日增量更新标的历史交易数据, 然后通过Kibana做可视化及数据分…

java ee是什么_死磕 java集合之HashSet源码分析

问题&#xff08;1&#xff09;集合&#xff08;Collection&#xff09;和集合&#xff08;Set&#xff09;有什么区别&#xff1f;&#xff08;2&#xff09;HashSet怎么保证添加元素不重复&#xff1f;&#xff08;3&#xff09;HashSet是否允许null元素&#xff1f;&#xf…

ubuntu wifi固定ip_自制wifi遥控小车!ESP8266实践指南(二)

上次带大家利用ESP8266自制了wifi控制的LED点阵屏幕&#xff0c;大家觉得怎么样呢&#xff1f; 手把手教你用wifi控制显示屏&#xff01;ESP8266实践指南(一)今天我们来做点更有意思的~ wifi遥控小车&#xff01;一、所需材料ESP8266 NodeMCU开发板&#xff1a;这次我们使用CP2…

micopython 18b20_[MicroPython]stm32f407控制DS18B20检测温度

1.实验目的 1. 学习在PC机系统中扩展简单I/O 接口的方法。 2. 进一步学习编制数据输出程序的设计方法。 3. 学习DS18B20的接线方法&#xff0c;并利用DS18B20检测当前温度。 2.所需元器件 F407Micropython开发板1块 数据线1条 DS18b20温度传感器1个 DS18B20测温模块(不含DS18B2…

float php 运算_写给 PHP 程序员的 Python 学习指南

文 | 汤青松SegmentFault编辑 | EarlGrey推荐 | 编程派公众号(ID&#xff1a;codingpy)一、背景人工智能这几年一直都比较火&#xff0c;笔者一直想去学习一番&#xff1b;因为一直是从事PHP开发工作&#xff0c;对于Python接触并不算多&#xff0c;总是在关键时候面临着 基础不…