python鼠标移动到某图片上_将鼠标移动到像素,单击并按键Python

例如,我知道像素的rgb代码。我想在这个像素上移动鼠标。我试着在pyautogui上做这个。我得到了鼠标位置与x, y = pyautogui.position()pyautogui.screenshot()和{}的坐标,但在这之后,如果鼠标在某个地方很远,我想把鼠标移到这一点。。。

我也试着在屏幕上找到目标pyautogui.moveTo(pyautogui.center(pyautogui.locateon屏幕('some picture')),但屏幕和屏幕截图分辨率有问题。我家有24英寸显示器,工作时有20英寸显示器,它们的分辨率不同。所以,我的脚本在截图上找不到对象,并返回TypeError: 'NoneType' object is not subscriptable

它在屏幕上显示鼠标的位置。工作正常。在x, y = pyautogui.position()

print(x, y, end='')

在此之后,我将鼠标移动到选定的跳线。工作也很好。在

^{pr2}$

在这之后,我尝试模拟leftclick或keypress。但它不起作用。在pyautogui.click()

或者pyautogui.keyDown('F')

time.sleep(2)

pyautogui.keyUp('F')

这个方法呢def clickleft(x,y):

win32api.SetCursorPos((x,y))

sleep(randint(2,5))

win32api.mouse_event(win32con.MOUSEEVENTF_LEFTDOWN,x,y,0,0)

time.sleep(0.3)

win32api.mouse_event(win32con.MOUSEEVENTF_LEFTUP,x,y,0,0)

clickleft(x, y)

和键盘shell.SendKeys("F")

毕竟,我听说我需要直接输入和硬件密钥码。所以我尝试了。在def PressKey(hexKeyCode):

extra = ctypes.c_ulong(0)

ii_ = Input_I()

ii_.ki = KeyBdInput( 0, hexKeyCode, 0x0008, 0, ctypes.pointer(extra) )

x = Input( ctypes.c_ulong(1), ii_ )

ctypes.windll.user32.SendInput(1, ctypes.pointer(x), ctypes.sizeof(x))

def ReleaseKey(hexKeyCode):

extra = ctypes.c_ulong(0)

ii_ = Input_I()

ii_.ki = KeyBdInput( 0, hexKeyCode, 0x0008 | 0x0002, 0, ctypes.pointer(extra) )

x = Input( ctypes.c_ulong(1), ii_ )

ctypes.windll.user32.SendInput(1, ctypes.pointer(x), ctypes.sizeof(x))

while (True):

PressKey(0x11)

time.sleep(1)

ReleaseKey(0x11)

time.sleep(1)

但我没有结果。它在记事本中运行良好,但在我刚启动游戏后,脚本在游戏和记事本中都不起作用。剃须刀或血淋淋的老鼠的宏效果很好。但是脚本必须在屏幕上使用pyautogui.locateOnScreen('C:\\picture.PNG')

也许python可以…集成mice的宏。所以我可以把简单的代码和宏结合起来?我已经安装了Nacro Py,MCPY和其他的,但他们没有文档,我不知道它是否正是我需要的。在

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值