我知道如何用下一个代码慢慢输入:
elem = driver.find_element_by_id("mainCommentForm")
text = "To type text here"
for character in text:
elem.send_keys(character)
time.sleep(random.uniform(0.2,0.5))
Run Code Online (Sandbox Code Playgroud)
不幸的是,我工作的网站不允许通过普通的 send_keys 选项输入文本,因为它会给出错误消息。就像我选择了元素,然后我想要 send_keys 但它无法找到该元素,因为它被取消选择或什么的。它与在 Java 中输入有关。请不要问为什么这不起作用,因为那不是我的问题..
事实是,我需要使用 Actionchains send_keys 选项,如下所示。但是我现在如何模拟人类打字,与上面的例子相同?通过人工打字,我的意思是一个字母一个字母地打字,而不是仅仅复制/粘贴..
elem = driver.find_element_by_id("mainCommentForm")
actions = ActionChains(driver)
actions.move_to_element(elem)
actions.click()
actions.send_keys("This text must be typed in slower..")
actions.perform()
Run Code Online (Sandbox Code Playgroud)