本文以具体的例子来在具体应用里用pyautogui来进行自动化操作,包括键盘,鼠标等移动,点击,自动抓图等。
安装PyAutoGUI
获取鼠标光标的当前位置和显示器的大小
移动并单击鼠标
鼠标相对移动和双击
拖动鼠标
输入字符
截取屏幕截图
用图像定位鼠标
查找图像区域
获得图像区域的中心
点击
关于异常处理
pip install pyautogui
conda install -c conda-forge pyautogui
获取鼠标光标的当前位置和显示器的大小
import pyautogui
print(pyautogui.position())
print(pyautogui.size())
position()函数以(x,y)元组的形式返回鼠标光标的当前位置。
size()函数以(width,height)元组的形式返回当前主监视器的大小。
import pyautogui
pyautogui.moveTo(200, 200) pyautogui.click()
import pyautogui
pyautogui.click(200, 200)
import pyautogui
pyautogui.click(200, 200, button='right')
import pyautogui
pyautogui.click(200, 200, clicks=2, interval=0.5)
import pyautogui
pyautogui.moveRel(0, 10)
pyautogui.doubleClick()
import pyautogui
pyautogui.dragTo(300, 300, button='left')
pyautogui.dragTo(400, 400, 2, button='left')
pyautogui.dragRel(30, 0, 2, button='right')
使用dragTo(),将鼠标左键拖动到x = 300,y = 300的位置。
如果输入第三个参数的值,请设置拖动时间。在当前光标位置,按住左按钮2秒,x = 400,y = 400并拖动。
使用dragRel(),可以进行相对移动。右键单击并在x = 30处保持2秒,在当前位置y = 0。
button关键字可以设置为"left",“right"或"middle”。
import pyautogui
pyautogui.click(500, 500)
pyautogui.typewrite('Hello world!', interval=0.1)
将光标移动到x = 500,y = 500,在鼠标上单击一次并键入"Hello world!"使用typewrite()函数。
在这种情况下,将每种类型之间的时间间隔设置为0.1秒(间隔= 0.1)。
import pyautogui
im1 = pyautogui.screenshot()
im2 = pyautogui.screenshot('my_screenshot.png')
im3 = pyautogui.screenshot('my_region.png', region=(0, 0, 300, 300))
调用screenshot()返回屏幕截图图像对象(im1)。
输入文件名(‘my_screenshot.png’)将屏幕截图图像保存为文件。
如果该区域被设置为region =(0,0,300,300),则从x = 0,y = 0到x = 300并且y = 300的矩形区域被保存为图像文件。
由于环境总是略有不同,因此将鼠标放在屏幕上的某个位置可能会很棘手。
在这种情况下,如果屏幕上有特定区域的图像文件,则可以找到并单击该区域。
无论计算器在哪里,总是会尝试点击相同的按钮,如()。
import pyautogui
five_btn = pyautogui.locateOnScreen('five.PNG')
print(five_btn)
locateOnScreen() haejumyeon设置图像(“five.PNG”),区域类型,元组上的水平和垂直位置和区域的大小在左边找到在屏幕上的匹配如下((左,上,宽度,高度) )输出到。
如果找不到该区域,则返回None。
(1443, 652, 38, 47)
import pyautogui
five_btn = pyautogui.locateOnScreen('five.PNG')
center = pyautogui.center(five_btn) print(center)
使用center()函数,您可以以元组的形式获得区域的中心(您单击的点)。
输出中心时(1462,675)输出。
import pyautogui center = pyautogui.locateCenterOnScreen('five.PNG') pyautogui.click(center)
查找图像区域和查找中点的更简单方法是使用locateCenterOnScreen()函数。
通过单击(中心)单击计算器上5按钮的中心,如下所示。
即使计算器的位置在屏幕上发生变化,您也可以始终单击相同的位置。
1920×1080屏幕,点击大约需要1-2秒,因此可能难以应用于游戏,但它可以在大多数应用程序中使用。
如果代码编程不正确,则可能难以控制鼠标和键盘。有一种防范这种情况的保障措施。
如果鼠标光标移动到屏幕的左上角(x = 0,y = 0),则激活安全设备并终止程序。
如果您不想使用这些安全设备,请按以下步骤进行设置。
import pyautogui pyautogui.FAILSAFE = False
import pyautogui pyautogui.PAUSE = 2.5 pyautogui.moveTo(200, 200)
pyautogui.click()
moveTo()函数后延迟2.5秒,click()函数后延迟2.5秒。
pyautogui.PAUSE的默认值为0.1秒。
学用结合,知行合一,大家感觉如何?
学好 Python 不论是就业还是做副业赚钱都不错,但要学会 Python 还是要有一个学习规划。最后大家分享一份全套的 Python 学习资料,给那些想学习 Python 的小伙伴们一点帮助!
Python所有方向路线就是把Python常用的技术点做整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照上面的知识点去找对应的学习资源,保证自己学得较为全面。
工欲善其事必先利其器。学习Python常用的开发软件都在这里了,给大家节省了很多时间。
我们在看视频学习的时候,不能光动眼动脑不动手,比较科学的学习方法是在理解之后运用它们,这时候练手项目就很适合了。
光学理论是没用的,要学会跟着一起敲,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。
我们学习Python必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有阿里大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。
保证100%免费
】