如何定义输入的打字速度(使其变慢)

How to define the typing speed of input (Make it slower)

提问人:Silence420 提问时间:8/23/2023 最后编辑:Silence420 更新时间:8/23/2023 访问量:54

问:

我有这个代码通过 adb shell 输入一些文本。但是,它的打字速度非常快,并且由于打字速度太快,超过 60% 的运行 1 个字母丢失了。

所以我需要知道如何定义device.shell('input')命令的打字速度。

睡眠时间是定期延迟,与问题无关。

print(content)
device.shell('input text "{}"'.format(content), )
time.sleep(2)
输入 文本 打印 adb 睡眠

评论


答:

0赞 Qasim 8/23/2023 #1
import time
import subprocess

content = "your_text_to_input"

# Define a function to input text with controlled typing speed
def slow_input_text(text, delay_between_characters=0.1):
    for char in text:
        subprocess.run(['adb', 'shell', 'input', 'text', char])
        time.sleep(delay_between_characters)

# Call the function to input text with controlled typing speed
slow_input_text(content, delay_between_characters=0.1)

time.sleep(2)  # Regular delay

评论

0赞 Silence420 8/23/2023
subprocess.run(['adb', 'shell', 'input', 'text', char]) - 断开设备连接,重启 adb demon 并在没有任何输入的情况下继续执行任务,因此调用事件基本上只是一个断开连接按钮
0赞 Robert 8/23/2023
对于每个角色,都建立了自己的连接,等待时间将远远超过指定的时间。最好建立一次,然后只发送每个字符的命令。adb shelldelay_between_charactersadb shellinput
0赞 Silence420 8/25/2023
那会起作用,但输入是 txt 文件中一行的变量,所以我不能只写 5 个包含每个字母的命令,我的意思是我已经在我的代码中建立了一个 adb conenction,所以当我启动一个子进程时,它当然会关闭当前的子进程,我可以在保留之前连接的同时以某种方式定义输入速度吗?