Python 3.x 如何在使用python的selenium脚本中降低send_keys操作的速度?

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

我目前正在用python创建一个selenium脚本。我需要使用send_keys功能在文本框中输入一些内容。到目前为止,它的做法是正确的。但是,为了观察,我需要降低send_键填充文本字段的速度。我有办法做到吗?另外,是否有其他方法可以在selenium中发送_密钥? 谢谢和问候
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)