2017-08-27 16 views
1

私はプロのプログラマーではないので、間違いを黙らせてください - 私は研究をしています。 Seleniumを使用して1000語程度検索します。Python(Selenium):ログインリダイレクト/組織のサインを使用してウェブサイトにログインする方法

私は二つの問題があります:私は1を解決するまで、データベース

を検索するためにどのようにページ 2.組織の看板にリダイレクトした後、セレンを使用してログインする方法 1.を、私は本当に取得することはできません私は上記のURLに移動すると

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

path_to_chromedriver = 'C:/Users/Kyle/Desktop/chromedriver' # change path as needed 
browser = webdriver.Chrome(executable_path = path_to_chromedriver) 
url = 'http://library.universityname.edu/corpaffils' 
browser.get(url) 

username = selenium.find_element_by_id("login_id") 
password = selenium.find_element_by_id("login_password") 

username.send_keys("my username") 
password.send_keys("my password") 

selenium.find_element_by_name("submit").click() 

、それはページ上の私の組織の看板に私を指示し(:2に、私は実際にはここで私がこれまで持っているコードは約1

を求めていますたとえば、login.universityname.edu)、w私は自分のユーザー名とパスワードを入力できるはずですが、その後私はデータベースにアクセスしますが、上記のコードを実行するとログインしません。

ページ内の組織の記号は次のようになります。

<li><label for="login_id">ID:</label><input id="login_id" placeholder="ID" type="text" NAME="user" SIZE="20" VALUE=""/></li> 
... 
... 
<li><label for="login_password">Password:</label><input id="login_password" placeholder="Password" type="password" NAME="pass" SIZE="20" /></li> 
... 
... 
<ul class="submit"> 
<li><input type="SUBMIT" name="submit" value="Sign in"></li> 
</ul> 

私は2つの問題があるかもしれないと思うが、私はそれがあることを確認していない: 1.私のコードは、リダイレクトする前に、ログイン情報を入力しようとしているのどちらか、としたがって、それは何にも入っていません。または 2.私のSeleniumコードが組織サインのフィールドを正しく識別していないため、ログインしていません。または 3.両方とも

リダイレクトについて説明する必要がありますか?ログインフィールドを正しく識別し、正確に処理していますか?

答えて

3

要素を見つけるときにseleniumbrowserに置き換えてください。これが機能します。

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

path_to_chromedriver = 'C:/Users/Kyle/Desktop/chromedriver' # change path as needed 
browser = webdriver.Chrome(executable_path = path_to_chromedriver) 
url = 'http://library.universityname.edu/corpaffils' 
browser.get(url) 

username = browser.find_element_by_id("login_id") 
password = browser.find_element_by_id("login_password") 

username.send_keys("my username") 
password.send_keys("my password") 

browser.find_element_by_name("submit").click() 

リダイレクトのために何もする必要はありません。

N.B:完了したらclosequitを忘れないでください。ブラウザが自動的にリダイレクトされます。

関連する問題