- selenium 模拟登陆网易邮箱实例
- selenium
一、selenium 模拟登陆网易邮箱
老样子,先来看看效果图吧(我没有设置正确的账号和密码,大家自己试的时候可以设置自己的账号密码),思路和分析都在下边,不懂语法的小伙伴可以看webdriver使用方法,下面我有整理。
查看网页源码,发现这个标签的 id 是 switchAccountLogin
browser
结合图中分析:
browser.find_element_by_name('email').clear()
browser.find_element_by_name('email').send_keys("username")
browser.find_element_by_name('password').clear()
browser.find_element_by_name('password').send_keys('password')
browser.find_element_by_id('dologin').click()
但是在这之前有一个特别重要的小环节,如果没有这个小环节是定位不到账号框和密码框的;因为邮箱输入框和密码输入框在iframe中,但是这个iframe id="x-URS-iframe156xxxxxx"后面的数字是一个时间戳。是唯一的,而且name竟然也是设置为“”,所以通过driver.find_element_by_name通过属性获取或者driver.find_element_by_id通过id获取都是提示找不到。
办法只有一个:driver.find_element_by_xpath("//iframe[starts-with(@id, 'x-URS-iframe')]") ;通过使用xpath获取,并且是ids属性是“x-URS-iframe”开头的,就可以动态的获取这个iframe。 driver.switch_to.frame(): 切换界面,因为通过开发者工具可以看到,输入密码和用户名都是在iframe下,如果不切换到这个iframe.那么始终是找不到。
browser
附完整源码于此:
from
二、selenium
先:
安装 selenium
'chromedriver' executable needs to be in PATH. 解决办法
Xpath 语法
如何使用 requests
selenium 使用(爬取斗鱼图片)
后:
1-3 python 基础补充
4.1-4.7 WebDriver API
4.8 selenium 定位一组元素
4.9 selenium 多表单切换
4.10 selenium 多窗口切换
4.11 selenium 警告框处理
4.12 selenium 上传文件
4.13-4.16 selenium 文件上传、操作cookie、调用JavaScript、处理html5视频播放
4.17-4.19 selenium 窗口截图、关闭窗口和验证码处理
warning :未经授权,不得转载
有问题的小伙伴请在下方留言,喜欢就点个赞吧;关注我,带你一起写bug
CSDN:带只拖鞋去流浪
简书:带只拖鞋去流浪