2017-08-27 112 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浏览器。