使用Python Selenium webdrive登录yahoo电子邮件帐户

时间:2015-08-11 15:28:28

标签: python selenium selenium-webdriver automation yahoo

我需要使用Selenium和Python登录yahoo电子邮件帐户。

这是我的代码

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

driver = webdriver.Firefox()
driver.get("https://login.yahoo.com")

print driver.current_url

logintxt = driver.find_element_by_name("username")
logintxt.send_keys("email")

pwdtxt = driver.find_element_by_name("passwd")
pwdtxt.send_keys("pass")



button = driver.find_element_by_id("login-signin")
button.click()
driver.get("https://mail.yahoo.com")
print driver.current_url

但是当我打印当前网址时,它总是会给我一个登录页面,这意味着它没有登录。

关于如何修复它的任何想法? 我正在使用带有python 2.6的Centos 6

1 个答案:

答案 0 :(得分:2)

等待它(使用WebDriverWait)在成功登录后将您重定向到yahoo主页,然后导航到Yahoo邮箱:

from selenium.webdriver.support.wait import WebDriverWait

button = driver.find_element_by_id("login-signin")
button.click()

# give it time to log in
wait = WebDriverWait(driver, 10)
wait.until(lambda driver: driver.current_url == "https://www.yahoo.com/")

driver.get("https://mail.yahoo.com")