【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,以后遇到直接调用就可以了,很方便~

相关推荐
Johny_Zhao1 小时前
CentOS Stream 8 高可用 Kuboard 部署方案
linux·网络·python·网络安全·docker·信息安全·kubernetes·云计算·shell·yum源·系统运维·kuboard
站大爷IP2 小时前
精通einsum():多维数组操作的瑞士军刀
python
站大爷IP3 小时前
Python与MongoDB的亲密接触:从入门到实战的代码指南
python
Roc-xb3 小时前
/etc/profile.d/conda.sh: No such file or directory : numeric argument required
python·ubuntu·conda
粟悟饭&龟波功3 小时前
Java—— ArrayList 和 LinkedList 详解
java·开发语言
冷雨夜中漫步4 小时前
Java中如何使用lambda表达式分类groupby
java·开发语言·windows·llama
a4576368764 小时前
Objective-c Block 面试题
开发语言·macos·objective-c
Cai junhao4 小时前
【Qt】Qt控件
开发语言·c++·笔记·qt
uyeonashi4 小时前
【QT系统相关】QT网络
开发语言·网络·c++·qt
世由心生4 小时前
[从0到1]环境准备--anaconda与pycharm的安装
ide·python·pycharm