2016-09-16 7 views
0

ユーザのリストを登録してログインするプロセスを行っています。なぜ私のセレンのwebdriver認証が動作しないのですか(Django 1.9)

物事を簡単にするために同じユーザー名とパスワードを使用しています。

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() 

登録とログインに同じ文字列が使用されていても、ログイン認証は機能しません。しかし、同じユーザー名/パスワードのコンボは、私が手動で登録/ログインするときに機能します。

誰でもこの原因を教えてもらえますか?

+2

何が問題なのですか?エラーが発生していますか?また、あなたは 're.sub( ''、 ''、address)を何度も何度もやっています。これを一度実行し、結果を変数として保存し、変数を参照する必要があります。 – elethan

答えて

2

テストのログインセクションでは、username.send_keys()に電話するのを忘れたようです。

+0

@Alisdairありがとう! –

関連する問題