python实现鼠标自动点击,python键盘鼠标自动化

  python实现鼠标自动点击,python键盘鼠标自动化

  本文介绍了Python PyAutoGUI模块控制鼠标和键盘实现自动任务。分享给你,供你参考,如下:

  PyAutoGUI是用Python写的一个模块,可以用来控制鼠标和键盘。

  可以用来实现自动任务,不用担心重复枯燥的任务。

  pyautogui模块的功能:

  移动鼠标,点击左右键和滚轮。

  发送虚拟密钥

  安装pyautogui这个模块支持Windows,Mac OS X和Linux。

  根据系统的不同,您可能需要安装一些依赖项。

  Linux系统(Debian系列):

  $ sudo apt-get安装python3-pip $ sudo pip 3安装python3-xlib $ sudo apt-get安装卷轴$ sudo apt-get安装python3-tk $和sudo apt-get安装python3-dev卷轴是pyautogui使用的截图工具。

  麦克OS X:

  Python3 on $ sudo pip 3安装pyobjc-framework-quartz $ sudo pip 3安装pyobjc-core $ sudo pip 3安装pyobjc $ sudo pip 3安装pillow OS X可以通过brewhome或port安装。

  Windows系统不需要安装依赖。

  安装依赖项后,安装pyautogui:

  $ sudo pip 3安装pyautogui # Windows pip安装pyautogui导入模块测试:

  导入pyautogui准备Python非常快速地移动鼠标和点击键盘,这可能会导致其他应用程序出现问题。如果出现问题,而鼠标一直徘徊,这种情况下,你很难点击窗口退出程序。

  两种解决方案:

  pyautogui的# 1暂停和故障保护

  您可以告诉您的Python脚本在每个函数执行后暂停几秒钟,这样您就有几秒钟的控制时间。

  导入pyautoguipyautogui . pause=1.5 fail safe:鼠标移动到屏幕左上角时,触发pyautogui的FailSafeException异常。您可以使用try except语句来处理异常,或者让脚本异常退出。如果要终止程序,只需将鼠标快速移动到屏幕左上角即可。

  导入pyautoguipyautogui . fail safe=true # 2注销系统。

  这种方法粗暴直接,不推荐。Windows和Linux的快捷键是:CtrlAltDel;Mac OS X的快捷键是Command-Shift-Option-q

  用x,y坐标移动鼠标PyAutoGUI,屏幕左上角坐标为(0,0)。

  166 768分辨率:

  使用pyautogui.size()函数获得屏幕的分辨率:

  导入pyautoguipyautogui . size()#(1366,768) width,height=pyautogui.size () OK。现在我们有了屏幕的分辨率,让我们来控制鼠标的移动。

  MoveTo函数,绝对坐标。(block.py):

  导入范围(10)中I的pyautogui:pyautogui . move to(300,300,duration=0.25)pyautogui . move to(400,300,Duration=0.25)pyautogui . move to(400,400,Duration=0.25)pyautogui . move to(300,400,Duration=0.25)执行:

  $ python3 block.py上面的代码让鼠标顺时针移动,画10次方框。

  圆圈:

  import pyautoguiimport mathwidth,Height=pyautogui.size()r=250 #圆心o _ x=width/2o _ y=Height/2pi=3.1415926 for I in range(10):#旋转10次for angle in range(0,360,5): #使用参数方程x=o _ x r * math . sin(angle * pi/180)y=o _ y r * math . cos(angle * pi/180)pyautogui . moveto基于当前鼠标位置:

  在range(10)中导入pyautogui for I:pyautogui . moverel(100,0,duration=0.25)pyautogui . moverel(0,100,Duration=0.25)pyautogui . moverel(-100,0,Duration=0.25)pyautogui . moverel(0,-100,Duration=0.25)获取鼠标的坐标:

  Import pyautoguix,y=pyautogui.position()实时获取鼠标位置坐标:

  Import Autoguide: while true: x,y=pyautogui.position () print (x,y)除了键盘中断:print (\ nexit。)鼠标点击、拖放和滚动鼠标点击。

  使用click()函数发送虚拟鼠标点击,默认情况下,在鼠标位置单击左键。功能原型:

  Pygui.click (x=cur _ x,y=cur _ y,button= left) x,y是要单击的位置,默认为鼠标的当前位置。

  按钮是被点击的键,有三个可选值:“左”、“中”、“右”。

  要在当前位置右键单击:

  导入pyautoguipyautogui . click(button= right )在指定位置单击左按钮:

  import pyautoguipyautogui . click(100,100) click函数完成一次鼠标单击。一次完整的单击由两部分组成,按下mouseDown()和弹出mouseUp()。以上两个函数参数与click函数相同。事实上,click函数只是封装了mouseDown()和mouseUp()函数。

  其他功能:

  Pyautogui.doubleClick():双击鼠标实际上就是执行Click()函数两次。

  Pyautogui.rightClick():右键单击

  Pyautogui.middleClick (): Hit

  鼠标拖动

  拖动方式:按住鼠标键拖动鼠标。PyAutoGUI提供了两个函数:dragTo()和dragRel()。其参数与moveTo()和moveRel()相同。

  注意:持续时间不能太短,拖得太快对某些系统来说会太多。

  有了它,你可以在一个简单的绘图程序中绘制复杂的图形。

  纸带压紧轮

  使用scroll()函数,它只接受整数。如果值为正,则向上滚动,值为负,则向下滚动。

  Pyautogui.scroll(200)定位按钮的位置。pyautogui有截屏功能。你可能会想,为什么它还有截屏?

  如果你有一个需要10秒才能点击的按钮,使用上面描述的功能就可以轻松实现这个任务。但是我们假设你每点击一次这个按钮,它就会改变一个位置(随机)。那你该怎么办?下面我们来解决这个问题。

  先来看看如何使用pyautogui截图:

  import pyautoguiim=pyautogui . screen down()# Get pixel im . Get pixel((50,200)) # (30,132,153) #判断屏幕坐标的像素是否等于某个值pyautogui.pixelmatchcolor (50,200,(30,132

  现在我们来解决前面提到的问题。关键问题是如何找到按钮的坐标。其实很简单。首先,剪下你想要点击的按钮的图片,命名为button.png。然后使用locateOnScreen函数查找按钮的位置:

  导入pyautoguipyautogui . Locate on screen( button . png )#(643,745,70,29) Locate on screen其实就是一个简单的颜色比较。如果像素不匹配,它将返回None。该函数返回匹配图形的坐标,并找到中点:

  x,y=pyautogui.center ((643,745,70,29)) #获取中心点pyautogui.click (x,y) locatallonscreen():查找所有匹配的位置坐标。键盘前面是鼠标相关的。让我们来看看键盘。

  输入语符列

  pyautogui.typewrite():

  导入pyautoguipyautogui.click(100,100)pyautogui . typeet( Hello world!)上面的字符串是一个输入,可以延迟用于虚张声势:

  打字(‘你好,世界!’,0.25) PyAutoGUI输入单个字符是可以的,但是一些特殊字符怎么办?例如,在上面键入Hello World后,继续键入新的一行。

  PyAutoGUI键盘表:

  导入pyautoguipyautogui.click(100,100)pyautogui . typeet( Hello world!,0.25)按下并释放pyautogui . typeet([ enter , a , b , left , x , y], 0.25 )键

  非常类似于鼠标按键。

  KeyDown():按一个键

  Key():释放一个键

  Press():一个完整的按键,前两个功能的结合。

  alt+F4:

  pyautogui . keydown( alt left );pyautogui . press( F4 );Pygui.keyup (altleft )也可以直接使用热键函数:

  Pygui.hotkey (Alt Left , F4 )内容如上。最后推荐一个比较知名的微信官方账号【程序员学院】,很多学长都在这里学习。

  技能、学习经验、面试技巧、职场经验等。更为大家精心准备了零基础入门资料和实战项目资料。

  每天都有程序员定时讲解Python技术,分享一些学习方法和需要注意的小细节。

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: