python - 如何在 Python Selenium 中以随机间隔使用 send_keys ?

标签 python selenium sendkeys

例如,在编写“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))

最佳答案

你几乎已经拥有它了。创建一个将字符串分解为字符并一次发送一个字符的函数将完成此任务,而无需硬编码任何内容:

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))

关于python - 如何在 Python Selenium 中以随机间隔使用 send_keys ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59073552/

相关文章:

Python - put_item() S3、Lambda、DynamoDB——发生错误(ValidationException)

java - Selenium chromedriver 意外停止

javascript - Protractor - 识别 Ui-Sref 链接

c# - SendKeys 替代品?

excel - 如何将多个变量从 Excel 宏传递给 VBS 发送键?

java - 当有多个发送键时,Selenium sendkeys 清除值

python - 为什么 UniCurses for Python 不起作用?

python - 编写 Python 开发环境设置脚本

python - 机器人响应 channel 提及

javascript - Selenium鼠标滚轮下拉加载所有页面