Python Selenium,逐字发送send_keys

3

我该如何降低.send_keys()的速度?也许每个字母之间可以有0.25秒的延迟?

2个回答

7

您可以简单地编写自己的send_keys()方法:

<b>import time</b>

def send_keys_delay(controller,keys<b>,delay=0.25</b>):
    for <b>key</b> in keys:
        controller.send_keys(<b>key</b>)
        <b>time.sleep(delay)</b>

使用 send_keys_delay(controller,keys) 替代 controller.send_keys(keys)。如果您想设置延迟(例如为 0.5 秒),您也可以调用:send_keys_delay(controller,keys,0.5)

您甚至可以使用 随机 延迟使其更加逼真:

<b>import random</b>
import time

def send_keys_delay_random(controller,keys,<b>min_delay=0.05,max_delay=0.25</b>):
    for key in keys:
        controller.send_keys(key)
        <b>time.sleep(random.uniform(min_delay,max_delay)</b>)

1

使用time.sleep(0.25)来设置每两个发送的字母之间的时间间隔为0.25秒。

你可以在这里看到文档。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接