pyautogui语法

PyAutoGUI是一个用于自动化鼠标和键盘操作的Python库。它可以用于模拟鼠标移动、点击、键盘输入等操作,从而实现自动化任务。

以下是一些关于PyAutoGUI的常用功能和示例代码:

🌿安装&导入

# pip install pyautogui
import pyautogui

🌿获取屏幕分辨率

screen_width, screen_height = pyautogui.size()
print(f"屏幕分辨率:{screen_width} x {screen_height}")
# 屏幕分辨率:1920 x 1080

🌿鼠标操作

  • 获取鼠标当前位置position
  • 鼠标移动到指定位置moveTo
  • 点击 单击(左)click / 双击doubleClick / 右击 rightClick / 中键 middleClick
  • 鼠标拖拽drag
# 获取鼠标当前位置
x, y = pyautogui.position()
print(f"鼠标当前位置:{x}, {y}")

# 鼠标移动到指定位置
pyautogui.moveTo(100, 100, duration=1.5)  
# 在1.5秒内将鼠标移动到(100, 100)位置

# 鼠标点击
pyautogui.click(200, 200)  # 单击(200, 200)位置
pyautogui.doubleClick(300, 300)  # 双击(300, 300)位置
pyautogui.click()  # 单击左键
pyautogui.rightClick()  # 单击右键
pyautogui.doubleClick()  # 双击左键

# 拖拽鼠标指针到目标点
pyautogui.drag(start_x, start_y, x, y, duration=1)

🌿键盘操作

  • keyDown():模拟按键按下
  • keyUP():模拟按键松开
  • press():模拟一次按键过程,即 keyDown 和 keyUP 的组
  • typewrite():模拟键盘输出内容
  • 快捷键 hotkey
# 键盘输入
pyautogui.typewrite("Hello, World!")  # 输入文本
pyautogui.press("enter")  # 模拟按下回车键

# 快捷键
pyautogui.hotkey('ctrl','c') #ctrl+c

# !
pyautogui.keyDown('shift')    
pyautogui.press('1')    
pyautogui.keyUp('shift')   

🌿截图

img = pyautogui.screenshot('screenshot.png')
img.save("./gui_screenshot.png")

🌿查找图像在屏幕上的位置locateOnScreen

image_location = pyautogui.locateOnScreen('image.png')
print(image_location)

🌿弹框

在这里插入图片描述

time=pyautogui.confirm('几点了?',buttons=['7.am','11.am','7.pm'])
print(time) # 7.pm

# 警告框
alert=pyautogui.alert(text='警告',title='警告框')
print(alert)
# 密码框
password=pyautogui.password('请输入密码')
print(password)
# 普通输入框
input=pyautogui.prompt('请输入:')
print(input)

🌿自动画图

打开画图软件,运行后鼠标移到画图软件上
在这里插入图片描述

# 自动画图
import pyautogui
import time

time.sleep(5)

distance = 200
while distance > 0:
  pyautogui.dragRel(distance, 0, duration=0.5) # move right
  distance -= 5
  pyautogui.dragRel(0, distance, duration=0.5) # move down
  pyautogui.dragRel(-distance, 0, duration=0.5) # move left
  distance -= 5
  pyautogui.dragRel(0, -distance, duration=0.5) # move up

🌿计算器自动计算

以下是一个使用PyAutoGUI实现计算器自动计算的示例代码:

import pyautogui
import time

# 定义计算器按钮的位置
button_positions = {
    '0': (x0, y0),
    '1': (x1, y1),
    '2': (x2, y2),
    '3': (x3, y3),
    '4': (x4, y4),
    '5': (x5, y5),
    '6': (x6, y6),
    '7': (x7, y7),
    '8': (x8, y8),
    '9': (x9, y9),
    'plus': (x_plus, y_plus),
    'minus': (x_minus, y_minus),
    'multiply': (x_multiply, y_multiply),
    'divide': (x_divide, y_divide),
    'equals': (x_equals, y_equals),
    'clear': (x_clear, y_clear)
}

# 定义计算器操作
def click_button(button):
    position = button_positions.get(button)
    if position:
        pyautogui.click(position)
        time.sleep(0.2)

# 定义计算器输入
def input_expression(expression):
    for char in expression:
        click_button(char)

# 定义计算器计算
def calculate(expression):
    input_expression(expression)
    click_button('equals')
    result = pyautogui.locateOnScreen('result.png')
    if result:
        pyautogui.click(result)
        time.sleep(0.2)
        result_text = pyautogui.screenshot(region=result).convert('L')
        return result_text

# 示例使用
result = calculate('2+3')
print('Result:', result)

在上述代码中,我们首先定义了计算器按钮的位置,每个按钮都有一个对应的坐标。然后,我们定义了三个函数:click_button()用于点击计算器按钮,input_expression()用于输入表达式,calculate()用于计算表达式。在calculate()函数中,我们首先调用input_expression()函数输入表达式,然后点击"equals"按钮计算结果。最后,我们使用pyautogui.locateOnScreen()函数来定位结果的位置,并使用pyautogui.screenshot()函数获取结果的图像,并将其转换为灰度图像。最后,我们打印出计算结果。

请注意,上述代码中的按钮位置需要根据实际计算器界面进行调整,并且需要将结果的截图保存为result.png文件,并确保该文件与Python脚本在同一目录下。

还有一种方法是通过图像获取定位的更方便,我还不会:

打开电脑自带的计算器
利用截图工具截取4张图,并依次命名
将python程序和计算器一同打开在桌面上
运行python程序

# 自动计算器输入
import pyautogui

x = [0]*4
x[0] = pyautogui.locateCenterOnScreen('7.png')
x[1] = pyautogui.locateCenterOnScreen('+.png')
x[2] = pyautogui.locateCenterOnScreen('5.png')
x[3] = pyautogui.locateCenterOnScreen('=.png')
for i in range(4):
  pyautogui.click(x[i])

以下是一些关于 pyautogui 的链接:
官方文档 📍
GitHub 仓库 📍
PyPI 页面 📍

每天学点新东西 day1 - pyautogui语法

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值