python PyAutoGUI 使用

pip install pyautogui

document

import pyautogui

pyautogui.size()
pyautogui.position()

鼠标

  • To 是绝对坐标
  • Rel 或者 不带 To 是相对坐标
pyautogui.moveTo(x=None, y=None, duration=0.0)
pyautogui.dragTo(x=None, y=None, duration=0.0, button=PRIMARY)

click(x=None, y=None, clicks=1, interval=0.0, button=PRIMARY, duration=0.0)

  • doubleClick
  • tripleClick

mouseDown
mouseUp

scroll

键盘

typewrite
press(keystr, presses=1, interval=0.0)
hotkey

KEYBOARD_KEYS

keyDown
keyUp

截屏

pyautogui.screenshot(r’C:\Users\pc\Desktop\test.png’, region=(x, y, width, height))

通过图片匹配获取点击位置
pyautogui.center(pyautogui.locateOnScreen(‘图片路径’, grayscale=True))
pyautogui.locateCenterOnScreen()

解决图片匹配不到的问题:

  1. 使用 opencv 的来提高识别率
pip install opencv-python
  1. 调低匹配函数 confidence 参数(识别准确度)
    confidence = 0.9|0.8等,confidence 越小,定位的精度会下降,但更容易匹配到图片。
  2. 转换为灰度匹配 grayscale=True 会使图像和屏幕截图中的颜色去饱和,可以避免由显示器饱和度不同导致的图像定位失败。
  3. region 参数缩小匹配范围 (x,y,width,height),找图会更快,也避免其他区域图像的干扰
  4. 多图定位:同一图像存在不同的状态,如 icon 在不同场景下可能有不同的显示效果,可以把不同显示效果的多张图片归为一个事件,对多张图进行循环查找,定位一张图就可以对整个事件进行定位。
import pyautogui
 
#循环找图,找到就返回图像中心点,没找到就打印'没找到'
def imgs_locate(args):
    for i in range(len(args)):
    	r = pyautogui.locateCenterOnScreen(arg[i])
        if r !== None:
            return r
        else:
            pass
     # print('没找到')
 
#测试
print(imgs_locate(['images/test.png','images/test1.png'])

其他相关

中文输入 使用赋值粘贴
pip install pyperclip
copy(“str”) 修改剪切板内容
pyautogui.hotkey(“Ctrl”, “v”)

获取日期字符串
datetime.datetime.now().strftime(‘%Y-%m-%d’)

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值