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

时间:2019-01-15 19:08:03

标签: python pyautogui

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

// ChannelDuplexHandler implements ChannelOutboundHandler
[6] ChannelDuplexHandler.flush(ChannelHandlerContext ctx):

      // ctx is the original `AbstractChannelHandlerContext` and the cycle repeats
      ctx.flush(); // -> repeat from [1]

2 个答案:

答案 0 :(得分:0)

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

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

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

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

答案 1 :(得分:0)

我通过添加以下代码来达到目的。输入框数时,它不是在单击鼠标左键时起作用,而是将光标的位置作为初始位置:

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'])