【问题标题】:Why doesn't my selenium webdriver authentication work (Django 1.9)为什么我的 selenium webdriver 身份验证不起作用(Django 1.9)
【发布时间】:2016-09-16 18:03:36
【问题描述】:

我正在为用户列表注册和登录。

为了简单起见,我使用相同的用户名和密码。

from selenium import webdriver
from selenium.webdriver.common.keys import Keys
import re

for address in geolocations:

    # register
    browser.get("http://127.0.0.1:8000/register")

    username = browser.find_element_by_id("id_username")
    print("username is being set as " + re.sub(' ', '', address))
    password = browser.find_element_by_id("id_password")
    print("password is being set as " + re.sub(' ', '', address))
    location = browser.find_element_by_id("location")
    submit = browser.find_element_by_id("register")
    username.clear()
    password.clear()
    location.clear()
    username.send_keys(re.sub(' ', '', address))
    password.send_keys(re.sub(' ', '', address))
    location.send_keys(address)
    location.send_keys(Keys.RETURN)
    submit.click()
    browser.implicitly_wait(1)


    # login
    browser.get("http://127.0.0.1:8000/login")
    username = browser.find_element_by_id("username")
    password = browser.find_element_by_id("password")
    username.clear()
    password.clear()
    password.send_keys(re.sub(' ', '', address)) # addresses have spaces
    print("password is being set as: " + re.sub(' ', '', address))
    browser.implicitly_wait(2)
    submit = browser.find_element_by_id("submit")
    submit.click()    
    browser.implicitly_wait(2)

browser.quit()

即使注册和登录使用相同的字符串,登录验证也不起作用。但是当我手动注册/登录时,相同的用户名/密码组合可以工作。

谁能告诉我这是什么原因造成的?

【问题讨论】:

  • 什么不起作用?你有错误吗?此外,您一遍又一遍地做re.sub(' ', '', address)。您应该这样做一次,将结果保存为变量,然后引用该变量。

标签: python django selenium authentication login


【解决方案1】:

在您测试的登录部分,您似乎忘记拨打username.send_keys()

【讨论】:

  • @Alisdair 谢谢!
猜你喜欢
  • 1970-01-01
  • 2014-01-28
  • 1970-01-01
  • 2013-12-02
  • 2015-10-12
  • 2019-08-04
  • 2019-10-31
  • 2019-04-08
  • 2014-06-08
相关资源
最近更新 更多