使用 pyautogui 使用鼠标左键单击执行代码



我希望我的代码在左键单击鼠标并使用光标位置作为初始位置时运行。我的代码只是在 1 到 5 之间随机按下,然后按 tab 并继续在循环中做同样的事情。我已经预定义了程序的光标位置,但我希望它在我执行代码时找到光标的位置。我已经搜索了几个小时,但找不到解决方案。我的代码如下

import pyautogui
import random
j = int( input("How many boxes to fill : " ))
pyautogui.click(569, 464)
pyautogui.click(569, 464)
for i in range(j+1):
    j = random.randint(1,5)
    pyautogui.typewrite([str(j), 't'])

首先,pyautogui的目的是模拟人类及其与程序的交互。因此,您不能让用户通过左键单击来触发程序。您可能需要提供用户输入才能启动程序,如下所示:

>>> start = bool(input("Tell me should I start:: "))
Tell me should I start:: 1
>>> start
True
>>> if start:
...     #Your CODE

关于鼠标位置,您可以在 PyAutoGUI 文档本身中找到有关如何获取鼠标按钮位置的答案。您可以使用pyautogui.position()例程获得它

>>> pyautogui.size()
(1920, 1080)
>>> pyautogui.position()
(187, 567)

我通过添加以下代码来解决问题。它不是在左键单击时工作,而是在我输入框数时将光标的位置作为初始位置:

import pyautogui
import random
j = int( input("How many boxes to fill : " ))
x, y = pyautogui.position()
pyautogui.click(x,y)
pyautogui.click(x,y) #2 clicks are necessary for the task
for i in range(j+1):
    j = random.randint(1,5)
    pyautogui.typewrite([str(j), 't'])

最新更新