【发布时间】:2020-02-24 11:15:56
【问题描述】:
我正在尝试制作一个可以控制鼠标在 bluestacks 实例中执行操作的程序(对于那些不熟悉 bluestacks 的人,bluestacks 的实例基本上是第二个打开的 bluestacks,可以运行相同时间作为另一个 bluestacks 实例)。我设法让脚本与 PyAutoGUI 一起工作,但我不得不使用 MoveTo 命令将鼠标移动到 X、Y 位置。 我的问题是,当尝试一次运行多个实例和脚本时,如果在很短的时间内同时从不同的脚本中单击,则其中一次单击“出错”或根本没有发生,这会停止实例脚本,直到我手动重新启动它。 有没有人建议我如何让脚本在屏幕的某个位置“单击”而不用鼠标实际移动?
编辑:我知道 PyAutoIt,但不相信它会起作用,因为我正在运行同一程序的多个实例而不是不同的程序
【问题讨论】:
-
难道没有两个功能,一个是移动鼠标并点击,一个是即时点击给定的位置。
-
其实我查了pyautogui.readthedocs.io/en/latest/mouse.html docs for pyautogui,有一个pyautogui.click(x=100, y=200)函数,但是它“# move to 100, 200, then click the鼠标左键。”,这是问题所在,它移动然后单击,而不仅仅是单击
-
如果不将鼠标实际移动到按钮上,您将无法单击。立即移动到按钮是最小的。
-
嗯,好的,我会看看我能做到这一点。您知道是否可以使用 pyautogui 同时运行多个按键?例如,如果我选择一个实例,运行 keydown("a")(向左走)然后选择另一个实例并运行 keydown("a");第二个keydown会取消第一个吗?
-
你不能把它们锁起来吗?也许可以使用某种回调?在第一次点击之后调用第二次点击。也许创建一个函数来接受点击列表并一个接一个地执行?但我认为这种行为并没有在模块本身中实现。注意:我只使用过一次 pyautogui 来制作一个玩扑克的机器人,所以多次快速点击对我来说不是问题。
标签: python automation instance pyautogui bluestacks