20 PyAutoGUI 屏幕截图(3)

PyAutoGUI 屏幕截图(2)

“定位”函数总结

   “定位”函数,都从屏幕的左上角(或图像)开始,然后往右,然后向下寻找。参数可以是:

  • locateOnScreen(image, grayscale=False)
    返回屏幕上第一个找到的图像实例的坐标(left, top, width, height)。如果未在屏幕上找到,则引发ImageNotFoundException

  • locateCenterOnScreen(image, grayscale=False)
    返回屏幕上第一个找到的图像实例中心的(x,y)坐标。如果未在屏幕上找到,则引发ImageNotFoundException

  • locateAllOnScreen(image, grayscale=False)
    返回一个生成器,该生成器包含在屏幕上找到图像的位置生成元组(left, top, width, height)

  • locate(needleImage, haystackImage, grayscale=False)
    返回在haystackImage中找到的needleImage(left, top, width, height)坐标。如果未找到,则引发ImageNotFoundException

  • locateAll(needleImage, haystackImage, grayscale=False)
    返回一个生成器,该生成器包含在haystackImage中找到的needleImage(left, top, width, height)坐标。如果未找到,则引发ImageNotFoundException

   “LocationAll”函数可以用于for循环或传递给list()

>>> import pyautogui
>>> for pos in pyautogui.locateAllOnScreen('someButton.png')
...   print(pos)
...
(1101, 252, 50, 50)
(59, 481, 50, 50)
(1395, 640, 50, 50)
(1838, 676, 50, 50)
>>> list(pyautogui.locateAllOnScreen('someButton.png'))
[(1101, 252, 50, 50), (59, 481, 50, 50), (1395, 640, 50, 50), (1838, 676, 50, 50)]

   这些“Location”函数相当昂贵;它们可以运行整整一秒钟。加速它们的最好方法是传递一个区域参数(left, top, width, height)的4个整数元组,只搜索屏幕的一个较小的区域,而不是整个屏幕:

>>> import pyautogui
>>> pyautogui.locateOnScreen('someButton.png', region=(0,0, 300, 400))
  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值