使用pyautogui时热键似乎无效

0 投票
2 回答
17 浏览
提问于 2025-04-14 15:42

在使用pyautogui的快捷键时,它们完全不管用。我尝试了两种不同的方法来让它工作。

还有其他我应该尝试的方法吗?或者我现在用的方法有什么解决办法吗?

pyautogui.keyDown(ctrl)
pyautogui.keyDown(t)
pyautogui.keyUp(ctrl)
pyautogui.keyUp(t)

我在这里遇到的错误是:NameError: name 'ctrl' is not defined

pyautogui.hotkey('ctrl , t')

就是完全不管用

有没有人能帮帮我?我想自动打开标签页和其他东西,但就是搞不定。

2 个回答

0

https://pyautogui.readthedocs.io/en/latest/keyboard.html#keyboard-keys

来自文档的内容:

以下是可以传递给 press()keyDown()keyUp()hotkey() 函数的有效字符串:

请注意,下面的数组中的值是字符串。

所以 pyautogui.keyDown('ctrl') 是正确的,但 pyautogui.keyDown(ctrl) 会出错,除非你之前定义了一个叫 ctrl 的变量。

0

pyautogui.hotkey() 这个方法有时候不太靠谱,打开和关闭标签页其实有更好的办法。你可以用 webbrowser 这样来操作:

import webbrowser

webbrowser.open("https://example.com") #opens tab in default browser

webbrowser.open("https://example.com", new=1) #opens a tab in a second browser (if possible)

不过,webbrowser 不能用来关闭标签页。如果你需要关闭标签页,而 pyautogui.hotkey() 又不管用的话,可以试试 keyboard

import keyboard

keyboard.press_and_release('ctrl+w') #closes the tab

撰写回答