繁体   English   中英

我如何在.send_keys()中的字符之间进行延迟

[英]How can i make a delay between characters in .send_keys()

我正在自动化一个在线应用程序,并试图使每个“ .send_keys()”更加逼真。 id不仅仅是立即用“ name@email.com”猛击文本字段,而是像敲击按键之间的微小延迟一样使id变近,因此似乎是人在打字而不是机器人。

    driver.find_element_by_id('name_Firstname').send_keys('Name')

    timeDelay = random.randrange(3, 6)
    time.sleep(timeDelay)

    driver.find_element_by_id('name_Lastname').send_keys('last')

    timeDelay = random.randrange(3, 6)
    time.sleep(timeDelay)

在上面的示例中,“名称”和“姓氏”立即输入到该字段中。 我怎样才能使它看起来像输入一样真实?

您可以延迟发送单词中的每个字符。

码:

from time import sleep

def dummy_send(element, word, delay):    
    for c in word:
        driver.find_element_by_id(element).send_keys(c)
        sleep(delay)

dummy_send('name_Firstname', 'Name', 1)
dummy_send('name_Lastname', 'last', 1)

您可以循环遍历字符串,并发送一个和一个字符,之间稍有延迟。

last = "last"
field = driver.find_element_by_id('name_Lastname')
for char in last:
    field.send_keys(char)
    time.sleep(.1)

您可以这样做:

for char in "last":
    element.send_keys(char)
    time.sleep(random.randrange(3, 6))

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM