python登陆126邮箱
因为刚开始学习自动化测试,所以一直是跟着虫师的《Selenium的自动化测试实战》来学习的,在其中碰到利用python登陆126邮箱,实践时发现最新一版的126邮箱不能根据id进行自动化登陆,解决步骤如下所示:
1.第一次选择使用css定位的方式进行登陆,结果报错 An invalid or illegal selector was specified(指定了无效或非法的选择器)
2.之后又使用xpath定位,结果又报错Unable to find element with xpath == //input[@name='email'],从网上查,发现126邮箱登陆框是在一个iframe框架中,必须要在代码中加入如下所示代码
driver.switch_to_frame("x-URS-iframe")
3.当我运行代码看到输入框中开始输入代码中默认的内容时,结果发现我的代码无法获取到登陆按钮的点击事件(泪奔~~~),找了半天终于找到解决方案,代码如下所示:
from selenium import webdriver from selenium.webdriver.common import keys import time driver=webdriver.Ie() driver.get("http://www.126.com") driver.switch_to_frame("x-URS-iframe") driver.find_element_by_xpath("//input[@name='email']").clear() driver.find_element_by_xpath("//input[@name='email']").send_keys("username") driver.find_element_by_xpath("//input[@name='password']").clear() driver.find_element_by_xpath("//input[@name='password']").send_keys("password") driver.find_element_by_xpath("//input[@name='password']").send_keys(keys.Keys.ENTER)
参考链接:http://blog.csdn.net/miouqi/article/details/68950257