【发布时间】:2018-06-23 06:06:11
【问题描述】:
我正在关注Marina Mele 的 Django 教程,我相信它非常好,但自 2016 年上次更新以来有点过时了。我现在正在尝试 Selenium 测试并遇到了我可以通过 Selenium 发送我的电子邮件地址但不能发送密码的问题。我的代码是
self.get_element_by_id("identifierId").send_keys(credentials["Email"])
self.get_button_by_id("identifierNext").click()
self.get_element_by_tag('input').send_keys(credentials["Passwd"])
self.get_button_by_id("passwordNext").click()
这些函数被定义为:
def get_element_by_id(self, element_id):
return self.browser.wait.until(EC.presence_of_element_located(
(By.ID, element_id)))
def get_element_by_tag(self, element_tag):
return self.browser.wait.until(EC.presence_of_element_located(
(By.TAG_NAME, element_tag)))
def get_button_by_id(self, element_id):
return self.browser.wait.until(EC.element_to_be_clickable(
(By.ID, element_id)))
我读到的关于这个问题的大多数建议都围绕着等待元素出现。但是,这些功能涵盖了这一点。我正在使用 by_tag,因为当前版本的 Google 身份验证使用的密码字段输入没有 ID,而是具有“passwordIdentifier”-id 的 div 的 div/div/div 子项。我也尝试过使用 Xpath,但似乎这并没有什么不同。
此外,Selenium 似乎能够找到元素……至少当我使用打印命令进行检查时。因此,定位元素似乎不是问题。但是,当我查看 Firefox 浏览器中发生的情况时,Selenium 无法发送我所看到的密钥,而 Selenium 正在测试。可能是什么问题?为什么 Selenium 难以将密码密钥发送到身份验证表单?
提前感谢大家!
【问题讨论】:
-
你用了什么xpath?另外,为了确定,这是:link 您正在使用的 URL 吗?
-
不幸的是,当我点击你指出的链接时,我得到了 404。
标签: javascript html python-3.x selenium google-authentication