我使用Python来控制鼠标在Android Emulator上做一些自动点击。我使用pyautogui和PyDirectInput来控制鼠标;然而,当鼠标移动到模拟器上时,click()函数运行但不工作,没有点击发生,也没有错误。
下面是点击函数和主循环:
import pyautogui as pi
import time
import pydirectinput as pyd
def click_shit(x, y):
pyd.moveTo(x,y)
for i in range(0,200,1):
pyd.click()
time.sleep(0.04)
def click_reload(x,y,x2,y2):
pyd.moveTo(x,y)
pyd.click()
time.sleep(0.5)
pyd.moveTo(x2,y2)
pyd.click()
while 1 :
click_shit(x, y)
time.sleep(3)
click_reload(x,y,x2,y2)
time.sleep(1)
字符串
1条答案
按热度按时间dddzy1tm1#
我读了几遍你的代码,并自己测试了它,我不认为这是一个问题的书面代码。最有可能的是,怎么回事是
pydirectinput
无法访问Android模拟器,这可能是由多种原因造成的。根据我的经验,最好的方法是继续使用不同的模块。你提到使用pyautogui
,尽管你在使用模块的时候没有发布代码(如果你发布代码来看看问题是否在那里会有帮助)。正如在代码中所写的,在
click_****(x, y)
函数中,您有pyd.moveTo(x, y)
,它将鼠标移动到所需的坐标x和y。您必须在单击之前将鼠标移动到该位置,这是不可取的。Pyautogui
有click()
函数,它允许您单击(x,y)坐标 * 而无需 * 先将鼠标移动到那里。当然,如果你真的想让鼠标移动,你可以使用pyautogui的moveTo()
或move()
函数,它允许你将鼠标移动到特定的坐标,或者将鼠标移动一定数量的像素,这取决于鼠标所在的位置和与屏幕的相对位置。将所有这些结合到代码中,这里有一个可能的解决方案:
字符串
但是,我不知道
pyautogui
是否能够访问您正在使用的平台,所以我决定包含另一个模块作为示例。Pynput
允许控制和检测鼠标和键盘。下面是一个示例的代码片段:
型
这应该对你有用。当然,我知道这也会有问题,所以我知道还有另一个叫做
mouse
的python模块,它可以用来控制鼠标,但我不熟悉它。如果你想了解更多关于它的信息,或者我在这个答案中建议的任何其他事情,你应该看看我下面的链接。Pyautogui:https://pypi.org/project/PyAutoGUI
Pynput:https://pypi.org/project/pynput
鼠标:https://pypi.org/project/mouse