【问题标题】:PyAutoGUI doesn't want to click but can movePyAutoGUI 不想点击但可以移动
【发布时间】:2021-05-07 09:13:18
【问题描述】:

有一个与此类似的问题 (Why pyautogui click not actually clicking) 但这对我不起作用。我已经给了 pycharm(我正在使用的)可访问权限,但它仍然不起作用:(这是我的代码:

import pyautogui, time
time.sleep(1)
pyautogui.moveTo(235, 135, duration=1)
pyautogui.click()
time.sleep(0.1)
pyautogui.click(clicks=3, interval=0.1)

【问题讨论】:

  • 在 MacOS Catalina 上授予访问权限后,它在 PyCharm 上对我有用。您能详细介绍一下您的系统吗?
  • 它的 Catalina 10.15.4
  • 你试过看this吗?
  • 是的,这实际上是我尝试使用的第一个模块。我什至尝试像在那个答案中那样将它们结合起来,但它不起作用
  • 它设法点击窗口,但是当我试图让它点击一个按钮时它什么也不做

标签: python ui-automation pyautogui


【解决方案1】:

pyautogui.click() 对我也不起作用 我通过使用鼠标向下和鼠标向上选项来解决它...

pyautogui.mouseDown(button='left')
pyautogui.mouseUp(button='left')

为了方便,我把它做成了一个函数……

def click(button):
    pyautogui.mouseDown(button=button)
    pyautogui.mouseUp(button=button)

之后以下工作正常......

click('left')

【讨论】:

    【解决方案2】:

    这就是我在代码中解决此问题的方法:

    if moveVar.get() == True:
                    pyautogui.PAUSE = iCoor1[0]
                    pyautogui.moveTo(x=xyCoor1[0], y=xyCoor2[0], duration=0.2, _pause=False)
                    pyautogui.click(x=xyCoor1[0], y=xyCoor2[0], clicks=cCoor1[0], button='left')
                elif moveVar.get() == False:
                    pyautogui.PAUSE = iCoor1[0]
                    pyautogui.click(x=xyCoor1[0], y=xyCoor2[0], clicks=cCoor1[0], button='left')
    

    基本上给X和Y位置分配了一个变量,就用moveTo然后点击了。

    对于变量,您可以简单地执行x, y = pyautogui.position(),然后只需将 x 和 y 值分配给参数,然后在移动后再次调用变量,点击。

    【讨论】:

      猜你喜欢
      • 2021-05-23
      • 1970-01-01
      • 2021-04-03
      • 2014-11-21
      • 1970-01-01
      • 1970-01-01
      • 2022-01-06
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多