他可以让你摸鱼不用悄悄咪咪的的摸,而是直接跳进大海里明目张胆的摸,也可以让你日常工作时事倍功半,我们先来了解一下什么是pyautogui
pyautogui是由Al Sweigart于2010年创建的一个开源项目。Al Sweigart是一位Python编程教育家和作家,他创建了许多受欢迎的Python教程和著作。
pyautogui最初的灵感来自于一个名为”autopy”的库,但由于该库在某些平台上存在一些限制和问题,Al Sweigart决定创建一个新的库来解决这些问题,并为用户提供更好的自动化功能。
随着时间的推移,pyautogui逐渐发展壮大,并获得了广泛的用户群体。它在自动化测试、GUI测试、屏幕录制、自动化任务和游戏脚本等领域得到了广泛应用。
pyautogui提供了一系列功能强大的方法,可以模拟鼠标和键盘的操作,包括点击、移动、拖动、输入文本等。它还提供了一些辅助功能,如获取屏幕截图、查找图像、识别颜色等,使用户能够编写复杂的自动化脚本。
pyautogui是一个简单易用但功能强大的自动化库,为Python开发者提供了一种方便的方式来控制鼠标和键盘,实现各种自动化任务。
下面是一些DEMO示例:
1.实时显示鼠标的坐标
import pyautogui
# 实时显示鼠标位置
last_pos = pyautogui.position()
try:
while True:
new_pos = pyautogui.position()
if last_pos != new_pos:
print(new_pos)
last_pos = new_pos
except KeyboardInterrupt as k:
print(k)
2.获取屏幕的尺寸
size = pyautogui.size() print(size)
3.移动鼠标到指定位置
# 把鼠标移动到(屏幕上10,10)的位置,周期2秒,若不设置周期,则为瞬间移动 pyautogui.moveTo(10, 10, duration=2)
3.移动鼠标到画面中央
# 把鼠标移动到画面中央,周期0.5秒 pyautogui.moveTo(size.width / 2, size.height / 2, duration=0.5)
4.移动鼠标到相对位置
# 移动到相对位置,在鼠标当前位置的基础上移动,X轴移动100个像素,Y轴不动,周期3秒,要输入0,不能是NONE,不然走不直 pyautogui.moveRel(300, 0, duration=3)
5.单击鼠标左键
import pyautogui # 在当前鼠标位置单击左键 pyautogui.click()
6.单击鼠标右键
import pyautogui # 在当前鼠标位置单击右键 pyautogui.click(button='right')
7.双击鼠标左键
import pyautogui # 在当前鼠标位置双击左键 pyautogui.doubleClick()
8.按下键盘上的某个按键,比如A
import pyautogui
# 按下键盘上的字母'A'
pyautogui.press('A')
还可以使用pyautogui.keyDown()和pyautogui.keyUp()方法来设置按下和放开键盘按键的时间间隔。在这个DEMO中,pyautogui.keyDown('A')表示按下键盘上的字母’A’,然后使用time.sleep()方法来设置按下的时间间隔,最后使用pyautogui.keyUp('A')表示放开键盘上的字母’A’,同样也使用time.sleep()方法来设置放开的时间间隔。
import pyautogui
import time
# 按下键盘上的字母'A',按下时间为1秒,放开时间为0.5秒
pyautogui.keyDown('A')
time.sleep(1) # 等待1秒
pyautogui.keyUp('A')
time.sleep(0.5) # 等待0.5秒
你甚至还可以截图后保存,然后根据图片上的内容来看屏幕上是否存在,如果存在就做些事情
# 先判断文件是否存在
exist = os.path.exists('4.png')
# 获取图片的位置
if exist == True:
print("文件存在,开始干活")
pos1 = pyautogui.locateCenterOnScreen('4.png', confidence=0.7) # 拿到图片的位置,结合前面的示例可以点击,可以实现按键
这个库还有许多的功能,可以去看看官方文档,熟悉了以后自己做一点挖矿和跑商什么的小脚本是没有问题的,这下你是不是就有动力学习了,哈哈哈哈?