【发布时间】: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