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

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

基本的输入方式:

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

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

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

在这里插入图片描述

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

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

逻辑也很简单:

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

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

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

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值