首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在.send_keys()中的字符之间延迟

如何在.send_keys()中的字符之间延迟
EN

Stack Overflow用户
提问于 2019-05-07 13:46:29
回答 3查看 5.5K关注 0票数 2

我正在自动化一个在线应用程序,并试图使每个".send_keys()“更加现实。与其立即用"name@email.com“来打击文本字段,倒不如说是键笔画之间的一个小延迟,所以似乎是人类在打字,而不是机器人。

代码语言:javascript
复制
    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)

在上面的例子中,"Name“和”and“立即被输入到字段中。我怎样才能让它看起来更现实,就像它被打印了一样?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2019-05-07 13:51:02

您可以将每个字符从word单独发送与延迟。

代码:

代码语言:javascript
复制
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)
票数 3
EN

Stack Overflow用户

发布于 2019-05-07 13:55:00

你可以这样做:

代码语言:javascript
复制
for char in "last":
    element.send_keys(char)
    time.sleep(random.randrange(3, 6))
票数 2
EN

Stack Overflow用户

发布于 2019-05-07 13:52:09

您可以在字符串上循环并发送一个和一个字符之间的小延迟。

代码语言:javascript
复制
last = "last"
field = driver.find_element_by_id('name_Lastname')
for char in last:
    field.send_keys(char)
    time.sleep(.1)
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56024094

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档