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

Python 使用pyautogui,用鼠标左键单击执行代码,python,pyautogui,Python,Pyautogui,我希望在左键单击鼠标并使用光标的位置作为初始位置时运行代码。我的代码只是在1和5之间随机按下,然后按下tab键,继续在循环中执行相同的操作。我已经为程序预先定义了光标位置,但我希望它在执行代码时找到光标的位置。我搜索了几个小时,但找不到解决方案。我的代码在下面 import pyautogui import random j = int( input("How many boxes to fill : " )) pyautogui.click(569, 464) pyautogui.clic

我希望在左键单击鼠标并使用光标的位置作为初始位置时运行代码。我的代码只是在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'])

谢谢你的回复