简体   繁体   English

Python Selenium,send_keys一封信

[英]Python Selenium, send_keys letter by letter

How can I slower the .send_keys() ? 我怎样才能减慢.send_keys()速度? So perhaps there can be a 0.25 second delay between every letter it send? 那么也许它发送的每个字母之间可能有0.25秒的延迟?

Use time.sleep(0.25) for an interval of 0.25 sec between every two letter it sends. 在发送的每两个字母之间使用time.sleep(0.25) ,间隔为0.25秒。

You can see the documentation here . 您可以在此处查看文档。

You can simply write your own send_keys() method: 你可以简单地编写自己的send_keys()方法:

import time

def send_keys_delay(controller,keys,delay=0.25):
    for key in keys:
        controller.send_keys(key)
        time.sleep(delay)

and call send_keys_delay(controller,keys) instead of controller.send_keys(keys) . 并调用send_keys_delay(controller,keys)而不是controller.send_keys(keys) In case you want to set the delay (for instance to 0.5 seconds) you can also call: send_keys_delay(controller,keys,0.5) . 如果您想设置延迟(例如0.5秒),您还可以调用: send_keys_delay(controller,keys,0.5)

You can even make it more realistic by using random delays: 您甚至可以通过使用随机延迟使其更加真实:

import random
import time

def send_keys_delay_random(controller,keys,min_delay=0.05,max_delay=0.25):
    for key in keys:
        controller.send_keys(key)
        time.sleep(random.uniform(min_delay,max_delay))

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM