【问题标题】:pyautogui hotkey not working on Mac but on Windows. Why?pyautogui 热键在 Mac 上不起作用,但在 Windows 上起作用。为什么?
【发布时间】:2021-11-15 02:47:07
【问题描述】:

pyautogui 热键('ctrl', 'shift', '2') 适用于 Windows,但不适用于 Mac(Big Sur、带 M1 芯片的 iMac)。无法弄清楚为什么会这样。 (热键应该在名为 PhraseExpress 的程序中打开一个表单)。我在隐私->辅助功能中添加了终端。我使用最新的 Python。我在终端中打开 py 文件。

def hotkey() -> None:
    """function to open the corresponding phraseexpress form (with a hotkey)"""
    
if foo == "Note 2":
        if platform == "darwin":
            print("Test before hotkey")
            pyautogui.hotkey('ctrl', 'shift', '2')
        if platform == "win32":
            pyautogui.hotkey('ctrl', 'shift', '2')

        print("You opened PhraseExpress for note 2")

输出是:

Test before hotkey
You opened PhraseExpress for note 2

没有其他事情发生。热键在 Mac 上不起作用。

浏览器窗口似乎没有焦点。我需要改变它的焦点,然后热键就会起作用。如何将焦点转移到浏览器?我正在使用 tkinter,当脚本运行时,似乎 tkinter 具有焦点,因此热键不起作用

【问题讨论】:

    标签: python macos selenium


    【解决方案1】:

    如果您使用的是 mac,您将使用 cntrl 执行的大多数功能都是通过命令完成的。例如,如果您想在 Windows 上进行复制:

    pyautogui.hotkey('ctrl', 'c')  # ctrl-c to copy, windows.
    

    但在 Mac 上你需要这样做:

    pyautogui.hotkey('command', 'c')  # command-c to copy, mac.
    

    【讨论】:

      猜你喜欢
      • 2023-03-12
      • 2020-03-18
      • 2020-02-08
      • 1970-01-01
      • 2015-04-06
      • 2018-06-21
      • 2017-02-19
      • 1970-01-01
      • 2021-07-19
      相关资源
      最近更新 更多