今天是学习selenium的第三天,今天的主题是自动登录126邮箱。

今天总结碰到的坑有三个:

1、frame内元素抓取,使用driver.switch_to.frame(frameId)方法切换锁定frame

2、等待页面渲染完毕定位输入,chrome下使用sleep(秒)等待

3、 driver的element内置方法会有失灵情况,采用driver.execute_script(js字符串)方法执行

 

初始代码,代码中的username\password替换成自己的账户密码即可

 1 from selenium import webdriver
 2 
 3 #自动打开邮箱主页登录
 4 driver = webdriver.Firefox()
 5 #driver = webdriver.Chrome()
 6 #driver = webdriver.Ie()
 7 dr.get("http://mail.126.com")
 8 idInput = dr.find_element_by_xpath('//input[@name="email"]')
 9 pwdInput = dr.find_element_by_xpath('//input[@name="password"]')
10 idInput.clear()
11 idInput.send_keys("username")
12 pwdInput.clear()
13 pwdInput.send_keys("password")
14 
15 dr.find_element_by_id('dologin').click()
16 
17 dr.quit()
View Code

相关文章: