Python 3.x 如何在使用python的selenium脚本中降低send_keys操作的速度?
我目前正在用python创建一个selenium脚本。我需要使用send_keys功能在文本框中输入一些内容。到目前为止,它的做法是正确的。但是,为了观察,我需要降低send_键填充文本字段的速度。我有办法做到吗?另外,是否有其他方法可以在selenium中发送_密钥? 谢谢和问候Python 3.x 如何在使用python的selenium脚本中降低send_keys操作的速度?,python-3.x,selenium,selenium-chromedriver,sendkeys,Python 3.x,Selenium,Selenium Chromedriver,Sendkeys,我目前正在用python创建一个selenium脚本。我需要使用send_keys功能在文本框中输入一些内容。到目前为止,它的做法是正确的。但是,为了观察,我需要降低send_键填充文本字段的速度。我有办法做到吗?另外,是否有其他方法可以在selenium中发送_密钥? 谢谢和问候 karan您可以在发送每个字符后插入暂停。例如,如果您的代码如下所示: el = driver.find_element_by_id("element-id") el.send_keys("text to enter
karan您可以在发送每个字符后插入暂停。例如,如果您的代码如下所示:
el = driver.find_element_by_id("element-id")
el.send_keys("text to enter")
您可以将其替换为:
el = driver.find_element_by_id("element-id")
text = "text to enter"
for character in text:
el.send_keys(character)
time.sleep(0.3) # pause for 0.3 seconds
迭代Mark的答案,您可以将其封装在可重用函数中: 具有类型提示的版本:
用法:
el = driver.find_element_by_id("element-id")
text = "text to enter"
slow_type(el, text)
import time
from selenium.webdriver.remote.webelement import WebElement
def slow_type(element: WebElement, text: str, delay: float=0.1):
"""Send a text to an element one character at a time with a delay."""
for character in text:
element.send_keys(character)
time.sleep(delay)
el = driver.find_element_by_id("element-id")
text = "text to enter"
slow_type(el, text)