【Python】Selenium模拟在输入框里,一个字一个字地输入文字

我们平常在使用Selenium模拟键盘输入内容,常用的是用send_keys来在输入框上输入字:

基本的输入方式:

python 复制代码
input_element= driver.find_element(By.ID, 'searchBox')
input_element.send_keys("我也爱你") #给骚骚的自己发个骚话

不过这种方法,如果完全流畅地把所有内容一下子输完,很容易会被对方网站通过行为识破,感觉普通人也不能一下子就把内容填完,复制粘贴也得要一些时间啦。

(更重要的是:要是给别人表演一下爬虫,一个字一个字地打出来,感觉更酷一点)

所以我在写这部分的时候改进了输入的方式。

想要模拟人在一个字一个字地敲键盘,让输入框一个字一个字得打出来。

逻辑也很简单:

只需要将输入的文字,在for循环下,一个个显示出来就好了,然后在每一次循环间,设置一个短暂的时间睡眠sleep:

python 复制代码
text="在文本框里需要传入的信息" #需要替换
interval=0.1
for word in text:
    element.send_keys(word)
    time.sleep(random.randint(int(interval * 500), int(interval * 1500)) / 1000)

当然这个好方法,也可以打包成def,以后遇到直接调用就可以了,很方便~

相关推荐
c++之路25 分钟前
C++信号处理
开发语言·c++·信号处理
m0_4954964128 分钟前
mysql处理复杂SQL性能_InnoDB优化器与MyISAM差异
jvm·数据库·python
forEverPlume1 小时前
PHP怎么使用Eloquent Attribute Composition属性组合_Laravel通过组合构建复杂属性【方法】
jvm·数据库·python
Aleeeeex1 小时前
RAG 那点事:从 8 份企业文档到能用的问答系统,全过程拆给你看
人工智能·python·ai编程
2301_809204702 小时前
mysql在docker容器中如何部署_利用docker-compose快速启动
jvm·数据库·python
Legendary_0082 小时前
LDR6500:USB‑C DRP PD协议芯片技术详解与应用实践
c语言·开发语言
2301_800976932 小时前
正则表达式
开发语言·python·正则表达式
故事还在继续吗2 小时前
C++20关键特性
开发语言·c++·c++20
码界奇点3 小时前
基于Python的新浪微博数据爬虫系统设计与实现
数据库·爬虫·python·毕业设计·新浪微博·源代码管理