Selenium类型的电子邮件密码不正确
问题描述:
我在写一个小小的Python程序来使用硒自动化电子邮件验证过程。现在,当我执行程序时,即使我是肯定他们是正确的,我总是得到“电子邮件或密码不正确”的消息;我试图在Python shell中逐行执行程序,并且我还将密码更改为没有特殊字符的密码,以确保硒没有特别问题,但没有成功,所以我认为硒不是“在认证表单中正确输入“密码。Selenium类型的电子邮件密码不正确
我正在使用python 3.6;这里是代码(当然,出于安全原因,没有真正的用户名和密码)。
from selenium import webdriver
browser = webdriver.Safari()
browser.get("myEmailProvider")
emailElem = browser.find_element_by_id("usernameDisplay")
emailElem.send_keys("myEmail")
passwordElem = browser.find_element_by_id("password")
passwordElem.send_keys("myEmailPassword")
passwordElem.submit()
有没有人知道为什么会发生这种情况?
谢谢。
答
当我使用Selenium输入用户名和密码时,我遇到了类似的问题。我注意到它有时会“吃”两个字母。例如,不是输入“password”,而是输入“passord”或类似的东西。
我试图找到为什么会发生这种情况,但是没有运气,但是我找到了解决方法。
我把这些东西放到while循环中。因此,在你的榜样,我会做:
passwordElem = browser.find_element_by_id("password")
while(passwordElem != "myEmailPassword")
passwordElem.send_keys("myEmailPassword")
passwordElem.submit()code here
你也可以把一些限制多少次它可以循环它抛出错误之前,这样你就不会在无限循环结束了,但是从我的经验,正确发送最多3次尝试。
答
要解决这一点的最好办法是通过JavaScript来填写表格数据:
driver.execute_script('document.getElementById("usernameDisplay").value="myEmail"')