java怎样自动调用鼠标点击屏幕固定地方_python办公自动化:让PyAutoGUI来帮你干活...

做不完的工作,写不完的文档,粘贴不完的excel,打不完的 word,讨厌的996,今天我将会带领一个你专属的机器人送给你,让它来代替你做这些重复性的工作,只要你能动脑经把工作分解成若干步可重复的劳动,它就可以帮你工作,而你只要跷着腿休息,拿工资即可。

442b57d931d0480411d8e69c47e58b63.png

它就可以帮你工作,而你只要瞧着腿休息拿工资即可

让我们快速进入正题。

今天将学习"如何使用Python自动化您的计算机鼠标和键盘"。

这就大家 喜欢Python的原因,它拥有我们想要的所有功能。

"进入Python世界,夫复何求。"

当然革命当家靠实干,当 尝试学习一些东西时, 只是Google和Boom, 会得到一些文章或有用的提示,更实干的方式,是让我们赶紧行动起来。

本文中, 将使用Python模块PyAutoGUI 来自动化鼠标和键盘 看过许多与PyAutoGUI相关的文章,但在这里 将尝试给你一些使用这个模块的独特想法。

9bee26dc1f08431950887667a949056f.gif

自动鼠标

使用PyAutoGUI的鼠标动画

PyAutoGUI的目的是为人类的 GUI自动化提供跨平台的Python模块。API设计为尽可能简单,具有合理的默认值。 将只介绍该模块的基础知识,其余的可以在PyPI 模块的文档中查找更多属性和功能

安装:

视窗:

在Windows上,安装和使用PyAutoGUI要容易得多。在Windows上,如果安装了pip,可以使用pipPyPI安装它。

pip install pyautogui

Os X:

在Os X上,您需要安装一些额外的模块才能运行PyAutoGui

pip3 install pyobjc-corepip3 install pyobjcpip3 install pyautogui

Linux的:

在Linux上,您必须安装一些软件包。

pip3 install python3-xlibsudo apt-get install scrotsudo apt-get install python3-tksudo apt-get install python3-devpip3 install pyautogui

入门:

如果你想制作一个令人难以置信的自动化工具,你可以将这个模块集成到其他很棒的模块,如Selenium,OpenCV等。

您可以使用PyAutoGUI执行以下操作

·

· (相对,固定)

· (相对,固定)

· (右,中,左,上,下,双和三)

· (向上,向下,向左和向右)

·

· (f1 - f2,所有其他键)

· (例如CTR + C)

·

·

·

·

(图像搜索):

·

·

·

·

稳定保障功能:

暂停:

Pause是PyAutoGUI中的一个选项,用于设置模块每次调用之间的暂停。例如: 有两个函数,一个是write,另一个是click,第二个函数是在配置了这个选项后配置的持续时间后执行的。

pyautogui.PAUSE = dur#2.5

安全失败:

此选项更像是使用CTRL + C取消程序。如果此选项设置为True,它会中止程序并pyautogui.FailSafeException通过将鼠标移动到屏幕的左上角来引发异常。

pyautogui.FAILSAFE = True

鼠标功能:

鼠标移动:

9bee26dc1f08431950887667a949056f.gif

鼠标移动

鼠标移动

您可以使用pyautogui类的以下功能将鼠标移动到屏幕的x,y坐标

pyautogui.moveTo(x,y,duration = num_seconds)

其中xy是屏幕上的XY坐标。X增加向右,Y增加向下。持续时间是指根据时间使鼠标移动缓慢的时间(以秒为单位)。

还有一个函数可以将鼠标相对于鼠标的当前位置移动,这意味着它将鼠标(100,100)从当前鼠标位置向左和向右移动。

pyautogui.moveRel(xOffset,yOffset,duration = num_seconds)

#你可以使用pyautogui.move(X偏移,Y偏移)以及

这里,xOffset和yOffset分别是鼠标x和y的当前位置的增量。

拖动:

af9906cb0b3d3174380f286852dd6047.gif

鼠标拖动

拖动是鼠标的另一个非常重要的功能,拖动只是意味着在按住单击按钮的同时移动鼠标。您可以通过以下功能进行拖动。

pyautogui.dragTo(x,y,duration = num_seconds)

pyautogui.dragRel(xOffset,yOffset,duration = num_seconds)

#你也可以使用pyautogui.drag(xOffset,yOffset)

这些功能的说明与鼠标移动相同。

点击次数:

958dde9671651680276542d65158d84d.gif

不同类型的点击次数

如您所知, 可以手动使用鼠标执行不同类型的点击。PyAutoGUI可以让 使用其中的许多功能。他们之中有一些是:

· 单击,双击和三击

· 鼠标按钮上下事件

· 左,右和中间点击

语法:

pyautogui.click(x=None, y=None, clicks=1, interval=0.0, button='left', duration=0.0)

你可以使用这样的click()函数:

pyautogui.click() #在当前位置单击鼠标

pyautogui.click(20,10)#move to 20,10 ,然后单击鼠标左键

#你也可以传递一个元组(20,10)

pyautogui.click(button ='right') #右键单击鼠标

pyautogui.click(button ='middle') # middle - 点击鼠标

pyautogui.click(button ='left') left - 点击鼠标

#你也可以通过以上方式传递它

pyautogui.click(clicks = 2) #双击鼠标左键

pyautogui.click(clicks = 2,interval = 0.25) #双击鼠标左键,但点击之间有四分之一秒的暂停

pyautogui.click(button ='right',clicks = 3,interval = 0.25) ##三击鼠标右键,点击之间间隔四分之一秒

还有单独的功能来完成相同的工作。

pyautogui.doubleClick()#执行左键双击

pyautogui.rightClick()#执行右键单击

pyautogui.middleClick()#执行中键单击

pyautogui.trippleClick()#执行左键三击

为每个函数提供更多可选属性,例如x和y坐标,持续时间和间隔。

鼠标点击和拖动包括按下鼠标按钮并将其释放回来。如果要单独执行这些操作,请调用mouseDown()和mouseUp()功能。它们具有相同的x,y和button 。

pyautogui.mouseDown(); pyautogui.mouseUp() #与鼠标左键单击功能相同

pyautogui.mouseDown(button ='right') #按下右键

pyautogui.mouseUp(button ='right',x = 100,y = 200) #将鼠标移动到100,200,然后向上释放右键。

滚动:

f77a3ea993bfaac295005cca60063145.gif

鼠标滚动

可以通过调用scroll()函数并传递整数个"点击"来滚动来模拟鼠标滚轮。"点击"中的滚动量因平台而异。

句法:

pyautogui.scroll(点击次数,x =无,y =无)

你可以使用这样的scroll()函数:

pyautogui.scroll(10) #向上滚动10"点击"

pyautogui.scroll(-10) #向下滚动10"点击"

pyautogui.scroll(10,x = 100,y = 100) #将鼠标光标移动到100,200,然后向上滚动10"点击"

您可以hscroll()在linux和OSX平台中左右滚动。

键盘功能:

写作:

11d6b4a8b9966fa77976eb25ba39764f.gif

用动画写单词

您可以在pyautogui类的函数的帮助下编写字母,单词或句子。它还提供每个打字单词之间的延迟,这使它更美妙。

pyautogui.typewrite('Hello world!') #打印出"Hello world!" 即刻

如果您想要为这句话设置动画并希望计算机在一小段时间后编写它,那么您可以使用interval属性。

pyautogui.typewrite('Hello world!',interval = 0.25)#打印出"Hello world!" 每个角色后延迟四分之一秒

按键:

4b4191ad8a3fdef6ea0cb7cdeb575e77.gif

按键

要按下这些键,请调用该press()函数并将字符串中定义的值传递给函数。

要按下多个键,传递一个元组或一个键列表,它还需要另一个可选属性presses=1 来限制键的按下次数。

还有一个属性interval=0.0是每个按键之间的间隔。

定义了此功能的键,可通过以下选项检索pyautogui.KEYBOARD_KEYS 。它将打印它支持的已定义键列表。例如:enter,up,down,esc,f1。请参阅KEYBOARD_KEYS。

pyautogui.press('enter') #按Enter键

pyautogui.press('f1') #按F1键

pyautogui.press('left') #按左箭头键

press()只是包装keyUp()和keyDown()功能,模拟按下一个键,然后释放它。

pyautogui.keyDown('shift') #按住shift键

pyautogui.keyUp('shift') #释放shift键

按快捷方式:

55b157e3e943a0c2e2f35749c59c1781.gif

按快捷方式

为了使按键热键或键盘快捷键方便,hotkey()可以传递几个按键顺序按下的键,然后以相反的顺序释放。

pyautogui.hotkey('ctrl','shift','esc')#同时按CTRL + SHIFT + ESC上面的代码相当于pyautogui.keyDown('ctrl') #按住CTRL按钮pyautogui.keyDown('shift') #按住SHIFT按钮pyautogui.keyDown('esc') #按住ESC按钮pyautogui.keyUp('esc') #释放ESC按钮pyautogui.keyUp('shift') #释放SHIFT按钮pyautogui.keyUp('ctrl') #Release CTRL按钮

消息框功能:

PyAutoGUI还显示JavaScript样式的消息框。提供了四个消息框功能:

警报窗口:

23116cd338e7626512940eb53795b5e6.png

警报窗口

警报框

显示带有文本和单个"确定"按钮的简单消息框。返回单击按钮的文本。

pyautogui.alert(text ='',title ='',button ='OK')

确认窗口:

d2b428b671f0900178e749c3c089e1dc.png

确认窗口

确认窗口

显示带有确定和取消按钮的消息框。按钮的数量和文本可以自定义。返回单击按钮的文本。

pyautogui.confirm(text ='',title ='',buttons = ['OK','Cancel'])

提示窗口:

eab31de6c14eda7d534d373b4a503df5.png

确认窗口

提示窗口

显示带有文本输入的消息框,以及"确定"和"取消"按钮。返回输入的文本,如果单击取消,则返回None。

pyautogui.prompt(text ='',title ='',default ='')

密码窗口:

abb95965baeb0ec3448a5a3e0c17b68f.png

密码窗口:

密码窗口

显示带有文本输入的消息框,以及"确定"和"取消"按钮。键入的字符显示为*。返回输入的文本,如果单击取消,则返回None。

password(text='', , default='', mask='*')

截图功能(图像搜索):

PyAutoGUI可以截取屏幕截图,将其保存到文件中,并在屏幕中查找图像。如果您有一个小图像,例如需要单击并希望在屏幕上找到它的按钮,这将非常有用

截取屏幕截图:

调用screenshot()将返回一个Image对象。传递文件名字符串会将屏幕截图保存到文件中,并将其作为Image对象返回。

im1 = pyautogui.screenshot()im2 = pyautogui.screenshot('my_screenshot.png')

region如果您不想要整个屏幕的屏幕截图,还有一个可选的关键字参数。您可以传递区域左侧,顶部,宽度和高度的四个整数元组来捕获:

im = pyautogui.screenshot(region =(0,0,300,400))

在屏幕上找到图像:

如果您有图像文件,可以在屏幕上直观地找到某些内容。例如,假设计算器应用程序正在您的计算机上运行,​​看起来像这样:

dace7f421a2f0f3d47852780772b7442.png

计算器

并且您有一个按钮的图像,例如7按钮的图像:

780361493f46776ecc2d1f8eff77fc27.png

7按钮

你可以调用locateOnScreen('7key.png')函数来获取屏幕坐标。返回值是一个4整数元组:(左,顶,宽,高)。但是,如果您只想在屏幕上显示图像的xy坐标,则可以调用locateCenterOnScreen()该坐标仅返回xy坐标。如果找不到屏幕上的图像,它将会升起ImageNotFoundException 。如果要单击该图像或对象,只需将前一个函数的返回值中的xy坐标传递给click()函数即可。要了解有关在屏幕上查找对象的更多信息请访问此链接

其他特性:

屏幕尺寸:

为了获得屏幕大小,PyAutoGUI有一个函数size()返回整数元组:(宽度,高度)为主监视器的大小。

pyautogui.size() #output:大小(宽度= 1366,高度= 768)

光标的位置:

为了获得光标的当前位置,PyAutoGUI有一个函数position()返回整数元组:(x,y)表示鼠标光标的当前位置。

pyautogui.position() # outpu :Point(x = 487,y = 664)

好,先介绍到这里。毫不夸张的说,从游戏代练到办公室工作,到居家旅游,这个键盘机器人都可以代办了。

42eaefdb7c66e01a2b52ec10b2043a26.png

大家说说,你可以用这个机器人干啥,当然活少工资多,也可以分我点,哈哈。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值