Rom*_*ano 0 python selenium sendkeys python-3.x
我知道如何用下一个代码慢慢输入:
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)
此代码按您想要的方式工作 -
elem = driver.find_element_by_id("mainCommentForm")
text = "To type text here"
for character in text:
actions = ActionChains(driver)
actions.move_to_element(elem)
actions.click()
actions.send_keys(character)
print(character)
actions.perform()
time.sleep(random.uniform(0.2,0.5))
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3365 次 |
| 最近记录: |