PyAutoGUI lets your Python scripts control the mouse and keyboard to automate interactions with other applications. The API is designed to be simple. PyAutoGUI works on Windows, macOS, and Linux, and runs on Python 2 and 3.
Welcome to PyAutoGUI’s documentation! — PyAutoGUI documentation
1、电脑屏幕的坐标系
引入笛卡尔直角坐标系,以屏幕左上点为原点,X 轴正方形水平向右,Y 轴正方形铅锤向下,此坐标系的单位距离是像素点
左上角的像素位于 (0,0)如果您的屏幕分辨率为 1920*2080,则右下角的坐标为 (1919,2079)
像素图是由许多像素点组成的一个像素点是指具有某个颜色的小正方形。
2、获取鼠标位置
口 获取屏幕分辨率的大小
pyautogui.size()
口 获取当前鼠标的位置
pyautogui.position( )
口 检查 XY 坐标是否在屏幕上
pyautogui. onScreen(x,y )如果它们位于屏幕的边界内,返回 True;否则,返回 False
传入参数:两个整数参数或带有两个整数的单个元组或列表
>>> import pyautogui
>>> pyautogui.size()
Size(width=2560, height=1600)
>>> pyautogui.position()
Point(x=2066, y=1393)
>>> x,y=pyautogui.position()
>>> print(x,y)
1468 920
>>> pyautogui.onScreen(2000,1300)
True
3、控制鼠标移动
口鼠标运动
pyautogui.moveTo( X,Y) 传递坐标后,鼠标光标移到到该位置 pyautogui.moveTo(100, 200)
pyautogui.moveTo(None, 500)
pyautogui.moveTo(600, None)如果希望鼠标逐渐移动到新位置,需要在函数中传入第三个参数: 移动应采取的持续时间 (秒)。不指定该参数,默认为 0.1s pyautogui.moveTo(100, 200,2)
pyautogui.moveTo(200,300) 绝对移动
pyautogui.move(-200,300) 从当前位置相对移动
>>> import pyautogui
>>> pyautogui.moveTo(1000,1400,duration=2)
>>> pyautogui.move(-200,300,duration=3)
4、按住鼠标拖动
口 鼠标拖动
pyautogui.dragTo( X,Y,button= “left')pyautogui.dragTo( X,Y,button= 'right’)传递坐标后,按住左键/右键将鼠标光标移动到该位置同样可以在函数中传入第三个参数: 移动应采取的持续时间 (秒)pyautogui.dragTo(300, 400, 2, button='left’)>>> pyautogui.dragTo(2000,1300,duration=3,button='left') 绝对拖动
pyautogui.drag(200,130,duration=3,button='left') 相对当前位置拖动
>>> import pyautogui
>>> pyautogui.dragTo(2000,1300,duration=3,button='left')
>>> pyautogui.drag(200,130,duration=3,button='left')
5、模拟鼠标点击
口 鼠标点击
pyautogui.click()
模拟鼠标在当前位置单击左键
pyautogui.click(x=100,y=100)
pyautogui.click(button='right’)
pyautogui.click(clicks=2)
pyautogui.click(clicks=2, interval=0.25)
pyautogui.click(button= 'right”, clicks=3, interval=0.25)
pyautogui.doubleClick( )
pyautogui.tripleClick()
>>> pyautogui.click()
>>> pyautogui.click(button='right')
>>> pyautogui.click(button='right',clicks=3,interval=2)
6、控制鼠标按压和释放
口 mouseDownlmouseUp
由鼠标点击、拖动及按下按钮并释放组成
pyautogui.mouseDown(button='right')
pyautogui.mouseUp(button='right, x=100, y=200)
口 鼠标滚动
pyautogui.scroll(10)pyautogui.scroll(-10)
pyautogui.scroll(10, x=100, y=100)
//画图
>>> pyautogui.click(425,153)
>>> x,y=pyautogui.position()
>>> print(x,y)
433 162
>>> pyautogui.click(433,162,clicks=2)
>>> pyautogui.move(300,200)
>>> pyautogui.mouseDown(button='left')
>>> pyautogui.move(300,200)
>>> pyautogui.mouseUp(button='left')
7、控制键盘自动输入
口 write()函数
pyautogui.write('Hello world!”)
pyautogui.write('Hello world!' interval=0.25)键入字符串的每个字符。输入每个字符之间需要时间间隔,参数 interval
口 按下后释放一个键 press
pyautogui.press('enter') # press the Enter keypyautogui.press('f1)# press the F1 keypyautogui.press(left)# press the left arrow key
口 热键 hotkey
为了方便按热键,按顺序向按下字符串代表的键,然后按反向顺序释放
pyautogui.hotkey('ctrl', 'shift, 'esc')
pyautogui.keyDown('ctrl')
pyautogui.keyDown('shift')
pyautogui.keyDown('esc')
pyautogui.keyUp('esc')
pyautogui.keyUp('shift')
pyautogui.keyUp('ctrl')
>>> pyautogui.write('I am lonely without you',interval=0.6)
>>> pyautogui.press('x')
离线安装 pyautogui
#准备安装包
#安装前执行下
pip freeze >requirements_before.txt
pip install pyautogui
>pip freeze >requirements_after.txt
# 取before和after不同的包,然后保存文件为requirements.txt
>pip download -d packages -r requirements.txt
离线安装
pip install --no-index --find-links=packages -r requirements.txt
Win 定时执行 python 脚本
https://github.com/qiu8310/crontab#windows-版-crontab-java
截图并保存
#/usr/bin/env python3
import os
import pyautogui as pa
import time
def make_dir(dirs):
if not os.path.exists(dirs):
os.makedirs(dirs)
def get_file_path(dirs):
time_format = "%Y-%m-%d-%H-%M-%S"
time_now=time.strftime(time_format,time.localtime())
file_path=os.path.join(dirs,time_now)
file_path=file_path+".png"
return file_path
def screen_shot(file_path):
im1 = pa.screenshot(file_path)
dirs="D:\yxscan"
make_dir(dirs)
screen_shot(get_file_path(dirs))
欢迎来到这里!
我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。
注册 关于