码迷,mamicode.com
首页 > 编程语言 > 详细

selenium2+python3登录163邮箱

时间:2019-03-23 12:59:29      阅读:299      评论:0      收藏:0      [点我收藏+]

标签:click   web   password   登陆   打印   from   fir   执行   email   

 

首先查看页面的整个登录流程:

打开mail.163.com→点击邮箱账号登录→账号输入框→密码输入框→登录

一、单一流程实现:打开网页,找到邮箱账号登录,输入账号密码,登录

# 导入webdriver驱动
from selenium import webdriver
from time import ctime
# 新建火狐浏览器驱动
dr = webdriver.Firefox()
dr.get(https://mail.163.com)
# 点击邮箱账号登录,使用xpath定位
dr.find_element_by_xpath(//*[@id="lbNormal"]).click()
print(ctime(), 已点击邮箱账号登录)
# 接下来实现账号密码登录,同样需要定位,但是发现每次账号密码都找不到Can‘t find element从网上查找资料才知道这块是作了表单设计,需要切换到frame定位。
# 同样直接在浏览器查看元素也能发现账号密码输入框其实在frame内

技术图片

# 那就先定位frame,然后查看frame的属性发现它的id是个小数,所以应该是作了随机值可变的,不好定位。但是可以发现frame的父元素div的属性是固定的,通过div找frame

dl_frame = dr.find_element_by_xpath(//*[@id="loginDiv"]/iframe)
# 切换到frame
dr.switch_to.frame(dl_frame)

#下面开始输入账号和密码

dr.find_element_by_name(email).clear()
dr.find_element_by_name(email).send_keys(‘**zhanghao**‘)
dr.find_element_by_name(password).clear()
dr.find_element_by_name(password).send_keys(‘***mima***‘)

# 然后点击登录(登录按钮也是在这个frame下)

技术图片

 

dr.find_element_by_css_selector(#dologin).click()

# 登陆后切换表单到主页面

dr.switch_to.default_content()

 

# 登陆后打印页面title

print(‘当前页面标题:‘dr.title)

 

执行报错:

技术图片

才发现div下面的frame是iframe,更改后执行:

技术图片

 

到目前,单线登录完成。


 


 

selenium2+python3登录163邮箱

标签:click   web   password   登陆   打印   from   fir   执行   email   

原文地址:https://www.cnblogs.com/wjlv/p/10583257.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!