python - 如何在 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))
解决方案
你几乎拥有它。制作一个将字符串分解为字符并一次发送一个的函数将完成此操作,而无需对任何内容进行硬编码:
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))
推荐阅读
- c# - .NET Core Blazor:如果选中,如何获取复选框值?
- android - 禁用 Android Webview ChromeClient 的警报/弹出窗口
- android - Firestore OncompleteListener
- reactjs - React Native + Jest + Enzyme:为什么 Enzyme 不能识别某些组件?
- c++ - 如何将 C 函数指针迁移到 C++?
- java - 爪哇集
与设置 - >
- database - 大查询恢复表
- c - 为什么这个删除链表中第n个节点的程序无限运行?
- r - 增加乘数
- ios - 在带有后端的 iOS 应用程序中验证用户的最佳方式是什么?