Как я могу сделать задержку между символами в .send_keys () - PullRequest
0 голосов
/ 07 мая 2019

Я автоматизирую онлайн-приложение и пытаюсь сделать каждый ".send_keys ()" более реалистичным.Вместо того, чтобы просто хлопать по текстовому полю с помощью name@email.com, идентифицируйте как небольшая задержка между нажатиями клавиш, поэтому кажется, что человек печатает, а не бот.

    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)

В примеревыше, «Имя» и «последний» сразу вводятся в поле.Как я могу сделать его более реалистичным, как если бы он печатался?

Ответы [ 3 ]

2 голосов
/ 07 мая 2019

Вы можете отправить каждый символ из слова отдельно с задержкой.

Код:

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)
1 голос
/ 07 мая 2019

Вы можете зациклить строку и отправить один и один символ с небольшой задержкой между.

last = "last"
field = driver.find_element_by_id('name_Lastname')
for char in last:
    field.send_keys(char)
    time.sleep(.1)
0 голосов
/ 07 мая 2019

Вы можете сделать это так:

for char in "last":
    element.send_keys(char)
    time.sleep(random.randrange(3, 6))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...