【问题标题】:pyautogui isn't activating windows with .click()pyautogui 没有使用 .click() 激活窗口
【发布时间】:2021-08-11 21:52:39
【问题描述】:

例如,当尝试使用 pyautogui 在网络浏览器中输入 url 时,我似乎无法在我的 IDE 之外输入任何内容

import pyautogui

pyautogui.click(300, 80)
pyautogui.typewrite('Hello World')

即使只是使用 .click() 似乎也不会激活窗口。我在 MacOS Catalina 上。

【问题讨论】:

    标签: python pyautogui


    【解决方案1】:

    将 clicks=2 添加到您的点击调用中。第一次单击将激活窗口。除此之外,我认为 Pyautogui 没有提供这样做的方法。

    【讨论】:

    • 仍然不适合我,但我确实看到它完成了。我目前正在关注自动化无聊的东西。我担心 Catalina 对此有意见,但我不确定。没有找到任何答案。
    • @SuitsAndPajamas 我刚刚在 Catalina 上测试了 pyautogui,它工作得非常好,单击即可获得焦点并点击输入框。
    • 我实际上只是尝试先单击该图标,看看它是否会为我激活窗口并且确实如此。出于某种原因,只需单击窗口本身就不会。但如果它对你有用,我一定会在这里遗漏一些东西。
    【解决方案2】:

    您可能需要在一行中同时运行这些命令。

    pyautogui.click(300, 80); pyautogui.typewrite('Hello World')
    

    这里的自动化无聊的东西中提到了这种技术

    请注意如何将两个命令放在同一行并用分号分隔,这样交互式 shell 在运行这两个指令之间不会提示您输入。这可以防止您在 click() 和 write() 调用之间意外地使新窗口成为焦点,这会弄乱示例。

    https://automatetheboringstuff.com/2e/chapter20/

    【讨论】:

      【解决方案3】:

      上述方法可行,但我建议以管理员身份运行您的 .py 文件将有助于解决您的问题。

      【讨论】:

        猜你喜欢
        • 2018-04-19
        • 2013-04-11
        • 2021-08-06
        • 2010-10-16
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多