我如何在Python Selenium中随机使用send_keys?

问题描述 投票:1回答:1

例如,当写“ 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))
python selenium sendkeys
1个回答
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))
© www.soinside.com 2019 - 2024. All rights reserved.