python鼠标移动到某图片上_如何用python实现真实的鼠标移动?

可以尝试用pyautogui库

import pyautogui

pyautogui.moveTo(x, y, duration=1)

其中moveTo方法将鼠标移动到屏幕上(x, y)坐标,duration参数是移动的时间,比如duration=1就是用一秒时间移动到x, y坐标

其实pyautogui也可以实现其它很多有意思的操作,具体的可以参考官方文档:Welcome to PyAutoGUI’s documentation!​pyautogui.readthedocs.io

希望可以帮上忙!

更新!关于如何在定位屏幕上的内容:

比如我们要实现知乎模拟点赞的效果,首先需要将点赞按钮截图(只能截不带数字的那一半,因为数字会变),然后保存为bmp格式。

随后将截图放在与脚本同目录下,输入下面的代码

import pyautogui

coo = pyautogui.locateCenterOnScreen("agree.bmp")

pyautogui.click(coo[0], coo[1])

其中locateCenterOnScreen函数查找传入图片在屏幕上的坐标,并返回图片的中心坐标值。若屏幕上有多个匹配,这个函数只返回第一个找到的图片坐标,如果没有找到,返回None。所以为了稳妥,还应该加上if语句判断一下。随后利用坐标就可以实现点击了。

当然如果需要找到屏幕上所有的目标,可以使用locateAllOnScreen函数。

import pyautogui

coos = pyautogui.locateAllOnScreen("agree.bmp")

for i in coos:

print(i)

返回值:

(242, 398, 77, 34)

(242, 839, 77, 34)

返回值前两个是图片左上角的xy坐标,后两个值是图片x和y轴长度

这样直接全屏幕搜索效率往往会很低,但若我们知道目标对象所在屏幕的大致区域,可以先用截屏函数截取相应区域,再用区域搜索函数找到目标,代码如下:

import pyautogui

area = pyautogui.screenshot(region=(214, 382, 1033, 649))

coo = pyautogui.locate("agree.bmp", area)

print(coo)

结果:

(28, 16, 77, 34)

解释一下:screenshot函数支持屏幕截屏,并把截图赋值到area上。定义了region参数后,可以实现区域截图。region的前两个参数是截图区域左上角坐标,后两个参数是区域右下角坐标。

locate函数接受两个参数,第一个是我们需要找的目标图片,第二个是寻找目标的范围图片。若找到目标,会返回目标在范围图片上的相对坐标,结果中的(28, 16)就是点赞按钮在区域截图上的坐标。

所以为了获得目标的真实屏幕坐标,需要在x和y上分别加截图区域左上角的坐标xy值

x, y = coo[0] + 214, coo[1] + 382

print(x, y)

结果:

242 398

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值