2016-04-13 3 views
1

Я пытаюсь автоматического входа на веб-страницу, используя следующий скрипт:Python автоматически Войти веб-страница

from selenium import webdriver 
from selenium.webdriver.support import ui 
from selenium.webdriver.common.keys import Keys 
def page_is_loaded(driver): 
return driver.find_element_by_tag_name("body") != None 
driver = webdriver.Firefox() 
driver.get("http://blabla.htm") 
wait = ui.WebDriverWait(driver, 10) 
wait.until(page_is_loaded) 
email_field = driver.find_element_by_id("sap-user") 
email_field.send_keys("foo") 
password_field = driver.find_element_by_id("sap-password") 
password_field.send_keys("blabla") 
password_field.send_keys(Keys.RETURN) 

код работает отлично. На следующем шаге я хочу открыть окно firefox после того, как логин будет завершен. Не могли бы вы помочь? Я пытался с:

driver.open() 
+0

При запуске: driver = webdriver.Firefox(). Вы должны видеть, что Firefox открыт с новым окном. Разве это не так? – oxdeadbeef

+0

Не открывается окно firefox. – slyclam

+0

Хорошо, я разрешил это. Я добавлю ответ. – slyclam

ответ

1

Проблема был вызван большим неправильным отступ. Следующий код имеет желаемый результат:

from selenium import webdriver 
from selenium.webdriver.support import ui 
from selenium.webdriver.common.keys import Keys 
def page_is_loaded(driver): 
    return driver.find_element_by_tag_name("body") != None 
driver = webdriver.Firefox() 
driver.get("http://blabla.htm") 
wait = ui.WebDriverWait(driver, 10) 
wait.until(page_is_loaded) 
email_field = driver.find_element_by_id("sap-user") 
email_field.send_keys("foo") 
password_field = driver.find_element_by_id("sap-password") 
password_field.send_keys("blabla") 
password_field.send_keys(Keys.RETURN) 
page_is_loaded() 
+0

Если бы у меня был никель на каждый раз, когда я слышал о ошибках Python, вызванных неправильной табуляцией, я бы купил Python и стер его с земли. –

Смежные вопросы