selenium2+python3登录163邮箱

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

打开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,更改后执行:

到目前,单线登录完成。


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

时间: 2024-08-30 03:08:33

selenium2+python3登录163邮箱的相关文章

Page Object实例(一) - Java + Selenium 登录163邮箱

Page Object 是什么: Page Object是Selenium2开始提供的一种代码设计模式. 其核心思想是把web页面的元素查找及操作和页面测试分离开. 这样之后的更新和维护中如果有页面元素变动, 不需要修改测试类, 只要修改其对应的页面元素的查找代码即可. 登录163邮箱的实例包括: 其中: 1. LoginPage.java 是主要测试页面, 包括查找元素, 操作元素实现登录 2. HomePage.java 是登录成功后会跳转到的页面, 在此用来作为登录操作方法的返回值及拿个元

[Python爬虫] Selenium实现自动登录163邮箱和Locating Elements介绍

目录(?)[+] 前三篇文章介绍了安装过程和通过Selenium实现访问Firefox浏览器并自动搜索"Eastmount"关键字及截图的功能.而这篇文章主要简单介绍如何实现自动登录163邮箱,同时继续介绍Selenium+Python官网Locating Elements部分内容.        希望该篇基础性文章对你有所帮助,如果有错误或不足之处,请海涵~        [Python爬虫] 在Windows下安装PhantomJS和CasperJS及入门介绍(上)        

【webdriver自动化】使用unittest实现自动登录163邮箱然后新建一个联系人

#练习:登录163邮箱然后新建一个联系人 import unittest import time from selenium import webdriver from selenium.webdriver.common.by import By from selenium.webdriver import ActionChains from selenium.webdriver.support.ui import WebDriverWait from selenium.webdriver.su

[转][Python][自动登录163邮箱]

#-*- coding:UTF-8 -*-import urllib,urllib2,cookielibimport xml.etree.ElementTree as etree #xml解析类 class Login163:   #伪装browser    header = {'User-Agent':'Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.1.6) Gecko/20091201 Firefox/3.5.6'}    us

5、Selenium+Python自动登录163邮箱发送邮件

1.Selenium实现自动化,需要定位元素,以下查看163邮箱的登录元素 (1)登录(定位到登录框,登录框是一个iframe,如果没有定位到iframe,是无法定位到账号框与密码框) 定位到邮箱框(name='email') 定位到密码框(name='password') 定位到登录按钮(id="dologin") 2.代码实现 #coding=utf-8 import time from selenium import webdriver broswer = webdriver.I

登录163邮箱发邮件

#encoding=utf-8 from selenium import webdriver import time from selenium.webdriver.support.ui import WebDriverWait from selenium.webdriver.support import expected_conditions as EC from selenium.webdriver.common.by import By #打开浏览器 driver = webdriver.

未解决的问题,登录163邮箱http://mail.163.com/,用xpath的方式定位密码输入框的时候,总是报找不到该元素

退出的时候出现: xpath定位方法: 注意xpath路径写的太长,如果层级全部写完定位不到,就尝试去掉一些层级

163邮箱设置 手机163.net邮箱设置

在工作中一个安全好用的邮箱可以给人提供莫大的帮助,那么163NET邮箱该如何设置呢?接下来小编将给大家一一介绍.更改界面皮肤:登录163邮箱,点击LOGO右侧设置按钮,选择更多皮肤,可进入邮箱皮肤设置界面,可以根据自己的喜好选择皮肤.设置电子名片:登录163邮箱,点击LOGO右侧设置按钮,选择签名/电子名片按钮,可修改电子名片选择新建签名或电子名片填写个人信息后玩车从邮箱名片设置建立联系人分分组:点击邮箱界面的联系人标签,选择新建联系人,填写分组名称和添加联系人设置黑白名单:在选择设置按钮后,选

springboot整合邮件发送(163邮箱发送为例)

//先登录163邮箱获取授权 勾选后安装提示会叫你设置授权密码之类的:记住授权的密码 1.引入maven依赖 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-mail</artifactId> </dependency> application.yml里配置: spring: mail: host: smt