2017-08-27 145 views
1

我不是一個專業的程序員,所以請原諒任何愚蠢的錯誤 - 我正在做一些研究,我試圖登錄到數據庫使用Selenium搜索它約1000個術語。Python(Selenium):如何登錄到登錄重定向/組織登錄網站

我有兩個問題:1。 如何登錄使用Selenium重定向到一個組織的標誌 頁2.後如何搜索數據庫

直到我解決1,我真的不能得到2,所以我真的只問1

這裏是我的代碼至今:

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

,當我瀏覽到上述網址,它引導我到我的組織標誌頁(說,login.universityname.edu),瓦特這應該能夠輸入我的用戶名和密碼,然後它會將我引導到數據庫,但是當我執行上面的代碼時,它不會將我註冊。

我可以在在頁面的組織標誌是這樣的:

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

我覺得可能是兩個問題,但我不知道它是: 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瀏覽器。