我正在自动化一个在线应用程序,并试图使每个“ .send_keys()”更加逼真。 id不仅仅是立即用“ name@email.com”猛击文本字段,而是像敲击按键之间的微小延迟一样使id变近,因此似乎是人在打字而不是机器人。
driver.find_element_by_id('name_Firstname').send_keys('Name')
timeDelay = random.randrange(3, 6)
time.sleep(timeDelay)
driver.find_element_by_id('name_Lastname').send_keys('last')
timeDelay = random.randrange(3, 6)
time.sleep(timeDelay)
在上面的示例中,“名称”和“最后一个”立即输入到该字段中。我怎样才能使它看起来更逼真,好像被键入了?
答案 0 :(得分:2)
您可以延迟发送单词中的每个字符。
代码:
from time import sleep
def dummy_send(element, word, delay):
for c in word:
driver.find_element_by_id(element).send_keys(c)
sleep(delay)
dummy_send('name_Firstname', 'Name', 1)
dummy_send('name_Lastname', 'last', 1)
答案 1 :(得分:1)
您可以遍历字符串并发送一个和一个字符,并且之间略有延迟。
last = "last"
field = driver.find_element_by_id('name_Lastname')
for char in last:
field.send_keys(char)
time.sleep(.1)
答案 2 :(得分:0)
您可以这样做:
for char in "last":
element.send_keys(char)
time.sleep(random.randrange(3, 6))