首页 > 解决方案 > 如何在 Python Selenium 中随机使用 send_keys?

问题描述

例如,在写“Hello”时,我想等待每个字符输入 0.03 到 0.2 秒之间的随机时间。

是否可以使用 send_keys 函数完成此操作,每个字符的随机等待时间在 0.03 到 0.2 秒之间?

这是我正在使用的代码:

import random
import time
from selenium import webdriver
from selenium.webdriver.chrome.options import Options

chrome_options = Options()
driver = webdriver.Chrome(executable_path='C:/Users/X/chromedriver.exe',chrome_options=chrome_options)

driver.get ('https://example.com/login')

driver.find_element_by_name("session[username_or_email]").send_keys('H')
time.sleep(random.uniform(0.03,0.2))

driver.find_element_by_name("session[username_or_email]").send_keys('e')
time.sleep(random.uniform(0.03,0.2))

driver.find_element_by_name("session[username_or_email]").send_keys('l')
time.sleep(random.uniform(0.03,0.2))

driver.find_element_by_name("session[username_or_email]").send_keys('l')
time.sleep(random.uniform(0.03,0.2))

driver.find_element_by_name("session[username_or_email]").send_keys('o')
time.sleep(random.uniform(0.03,0.2))

标签: pythonseleniumsendkeys

解决方案


你几乎拥有它。制作一个将字符串分解为字符并一次发送一个的函数将完成此操作,而无需对任何内容进行硬编码:

def send_keys_delayed(elementName, str)
   for char in str:
      driver.find_element_by_name(elementName).send_keys(char)
      time.sleep(random.uniform(0.03,0.2))

推荐阅读