selenium自带send_keys发送长字符串很慢

本文分析了selenium中自带的send_keys方法在输入长字符串时的低效问题,耗时超过1秒。通过引入pyperclip库,将输入方式改为复制粘贴,效率提升了约10倍。然而,这种方式可能导致在测试过程中无法正常复制其他内容,因为pyperclip.copy的内容会被覆盖。为解决这个问题,文章提出封装send_keys方法作为基类的解决方案,尽管不能完全避免缺点,但改善了用户体验。同时,作者解释了不使用JavaScript赋值方法的原因,因为在textarea等富文本情况下,该方法无效。
摘要由CSDN通过智能技术生成

1.自带send_keys输入1000个字符

# 自带send_keys发送1000个字符,耗时
import time
from selenium import webdriver
driver = webdriver.Chrome()
driver.get("http://www.baidu.com")
search_input = driver.find_element(value="kw")  # 百度输入框
start_time = time.time()
search_input.send_keys('在' * 1000)  # 发送1000个字符串
end_time = time.time()
print(f'耗时:{end_time-start_time} 秒')
driver.quit()

耗时:1.4954700469970703 秒

2.修改send_keys输入1000个字符

用到pyperclip,先pip install pyperclip

import time
import pyperclip
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
driver = webdriver.Chrome()
driver.get("http://www.baidu.com")
search_input = driver.find_element(value="kw")  # 百度输入框
start_time = time.time()
# search_input.send_keys('在' * 1000) 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值