Python 使用pyautogui,用鼠标左键单击执行代码
我希望在左键单击鼠标并使用光标的位置作为初始位置时运行代码。我的代码只是在1和5之间随机按下,然后按下tab键,继续在循环中执行相同的操作。我已经为程序预先定义了光标位置,但我希望它在执行代码时找到光标的位置。我搜索了几个小时,但找不到解决方案。我的代码在下面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
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'])
谢谢你的回复