无法在python中模拟按住按键

问题描述 投票:0回答:1

我正在尝试制作一个Python脚本来模拟使用pyautogui或键盘按住按键,但我只是无法让它真正按住按键。它不是键入 zzzzzzzzzzzzzzzzzzzzzzzzz,而是键入 z。如果有人可以帮助我,如果可能的话,那就太好了,请使用键盘或 pyautogui 库,但如果没有,我愿意学习另一个库。提前谢谢大家。

与 pyautogui.hold("z"): #任何东西

结果:z 预计:zzzzzzzzzzzzzzzzzzzzzzzz

python keyboard pyautogui
1个回答
0
投票

这是一个很常见的问题,通常与你的测试方式有关。

以此为例:

import pyautogui
import time

pyautogui.keyDown('z') #is supposed to hold the key 'z' down
time.sleep(5)
pyautogui.keyUp('z') #is supposed to release the key 'z'

通常发生的输出是:“z”。这是可以预料的。

Pyautogui
实际上是按下了键,输出是问题。通常,当用户按住某个键时,会重复键入该键,因此您会得到输出:“zzzzzzzzzzzzzzzzzzzzzzzzzz”。但在这种情况下,由于某种原因,
pyautogui
按住该键,但没有重复键入。然而,它是按住键(至少在我的情况下)。

为了测试它是否真的按住了按键,打开一个网络浏览器应用程序(或者其他需要按键的东西),我使用了一个简单的网络浏览器游戏,有时需要按下“w”键。我编写了一个简单的

pyautogui
程序来按住w键,并在网页浏览器游戏中测试了它,它起作用了,所以至少在我的例子中,键被按住了。做同样的测试来找出答案。

如果您确实想要输出:“zzzzzzzzzzzzzzzzzzzz”,那么您可以使用“pyautogui 的 typewrite()”函数,在 shell 中键入字母。但我猜你最初的目的是按住该键,所以运行与我所做的相同的测试,并找出该键是否被按住。

© www.soinside.com 2019 - 2024. All rights reserved.