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