用Python+Selenium来测试登录自动登录163邮箱
用Python+Selenium来测试登录自动登录163邮箱
- 1 准备条件
- 2 程序说明
- 3 代码
1 准备条件
① windows系统(也许你是Linux,Mac,自行选择)
②安装了Anaconda(或者python3)
③安装了selenium (不知道可以百度一下)
④安装了ChromeDriver驱动 (不知道可以百度一下)
⑤使用pycharm开发工具(可以使用其他开发工具)
2 程序说明
笔者只是自己学习研究相关内容,程序写的很小小小小白。
3 代码
# -*-coding:utf-8-*-
#@Author: 凝聚才华
#@Time: 2020年03月11日09时
'''
说明:
1. 本测试只供学习selenium交流,请勿用在任何商用用途。
2. 本测试实验,在2020年03月11日时,测试运行时是可以正常工作的,如果你运行失败,可能是由于163的登录界面有所改动。
'''from selenium import webdriver
import time
driver = webdriver.Chrome() #使用Chrome浏览器,
driver.get('https://mail.163.com/') #测试自动登录的网址,以163邮箱为本实验用例#登录
driver.find_element_by_link_text('密码登录').click() #打开地址,是扫码登录界面,需要点击切换到密码登录页面
time.sleep(2) #让它睡2秒,防止网络不好,跳转到密码登录页面太慢,定位不到元素,如果网络不好,建议设置长一点,单位是:秒
'''可用的定位frame的方法'''
driver.switch_to.frame(0) # 1.用frame的index来定位,定位第一个frame (index 下标从0开始)。
# driver.switch_to.frame(driver.find_element_by_tag_name("iframe")) # 2. 登录界面只看到一个iframe,用WebElement对象来定位。即用find_element系列方法所取得的对象,我们可以用tag_name、xpath等来定位frame对象
'''
本次测试例子中不可用的方法如下
如果是非动态的iframe时,有id,并且唯一,直接写id,但是很不幸,本例子中的id是时刻变化的,
举例本次打开,查看到的id是:x-URS-iframe1583891965828.27,下一次的id是:x-URS-iframe1583891147966.671,所以不适用
'''
# driver.switch_to.frame("x-URS-iframe1583891965828.27") # 3.用id来定位,由于是动态iframe所以本方法不适用# driver.switch_to.frame("name") # 4.用name来定位,此方法也不可行,本例子中没有name属性可以让我们定位。
driver.find_element_by_id('account-box').click() #点击进入账户输入框里面
driver.find_element_by_name('email').clear() #清理一下账户输入框中的内容,防止有垃圾数据影响正常登录
driver.find_element_by_name('email').send_keys('此处输入自己的账户') #邮箱账户,因为 后面已经自带@163.com,所以只输入前面部分
driver.find_element_by_name('password').clear() #清理一下密码输入框中的内容,防止有垃圾数据影响正常登录
driver.find_element_by_name('password').send_keys('此处输入自己的密码') #输入密码信息
driver.find_element_by_id('dologin').click() #点击登录按钮,进行登录# 收信,写信,删除邮件等操作
'''
未编写
'''#退出
time.sleep(5) #上面的登录成功后,有个跳转的过程,需要睡眠5秒,防止跳转未完成,直接进行退出导致找不到元素报错。
# driver.find_element_by_xpath('/html/body/header/div[1]/ul[1]/li[14]/a').click() #路径通过,浏览器里面的copy->xpath直接粘过来就好,退出方法1
driver.find_element_by_link_text('退出').click() #点击退出,进行退出邮箱操作,退出方法2
time.sleep(5) #再睡5秒,让我们看看退后的界面
driver.quit() #关闭Chrome浏览器
用Python+Selenium来测试登录自动登录163邮箱相关推荐
- 利用python+selenium带上cookies自动登录bilibili
利用python+selenium带上cookies自动登录bilibili 环境 selenium的安装 思路 第一部分:手动登录,保存cookies 第二部分:读取cookies自动登录 环境 环 ...
- 【Python】基于Selenium实现上海大学校园网自动登录
[Python]基于Selenium实现上海大学校园网自动登录 安装selenium Selenium官网 以anaconda环境为例,创建一个Selenium的虚拟环境,若不需要可以不做第一.二步 ...
- Ubuntu20.04实现Python基于Selenium实现上海大学校园网自动登录
Ubuntu20.04实现Python基于Selenium实现上海大学校园网自动登录 以anaconda环境为例,创建一个Selenium的虚拟环境: 一.安装selenium 1. conda cr ...
- Python+Selenium+phantomjs实现网页模拟登录和截图
Python+Selenium+phantomjs实现网页模拟登录和截图 本文全部操作均在windows环境下 安装 Python Python是一种跨平台的计算机程序设计语言,它可以运行在Windo ...
- 智能玩具 数据采集 首页展示 注册 登录 自动登录 二维码图片
玩具需求分析 1.语音实时通讯 - 让玩具成为孩子与父母之间沟通的桥梁 分支 建立幼儿社交圈2.积极正面幼教内容 - 让玩具能够播放 父母选定的儿歌,故事,百科,英语- 通过语音识别内容名称 玩具可以 ...
- python+selenium 实现 问卷星自动抢讲座
python + selenium 实现 问卷星自动抢讲座 文章目录 python + selenium 实现 问卷星自动抢讲座 一.代码 二.解析 1.安装selenium库 1)PyCharm 编 ...
- python + selenium 实现 问卷星自动抢讲座
python + selenium 实现 问卷星自动抢讲座,抢不到讲座的同学可以借鉴一下 这是我写的代码 from selenium import webdriver from selenium.we ...
- ruby自动注册163邮箱
下面一段是ruby自动注册163邮箱的代码,未封装,未加入验证码识别,有兴趣的朋友可以完善一下. #encoding:utf-8 #auto reg email of mail.163.com Tim ...
- Python《使用Selenium 和pyautogui 实现自动登录淘宝》
有了上一博文学习即基础,这一节想来学习下自动登录淘宝. 直接整上测试代码: from selenium import webdriver # import logging import time fr ...
最新文章
- LeetCode 376. 摆动序列(贪心 动态规划)
- pythonwx功能_python中wx模块的具体使用方法
- 为什么要用BigDecimal
- OpenCV-浮雕雕刻效果
- 深度学习推荐模型-DeepFM
- 计算机设计大赛作品——冬奥可视化
- matlab 色彩的范围,Matlab - 将2个颜色条设置为带有色彩图和良好范围的2个图例...
- SAP MM采购信息记录作用与浅析
- linux gtk主题安装教程,如何获取、安装和制作 GTK 主题
- pythonmathcot函数_NumPy数学函数介绍和用法
- 量子物理 詹班 计算机,6量子物理作业答案.doc
- 外设驱动调试经验汇总--每天加一点
- 小麦苗blog文章索引
- 易签到PHP源码,会议签到系统(会易签到)应用项目源码
- 2021-06-22第十章主讲
- mysql 备份数据库结账_简单的结账功能(可用于各种结账)
- Matlab中定义接口超类
- All In One - 第3章 安全工程
- mac brew 测速 软件_最好用的网络测速工具speedtest
- opencv 车牌识别
热门文章
- Qt中文乱码解决办法
- mysql5.7修改密码set password for ‘root‘@‘localhost‘=password(‘123456‘);
- sql2008java驱动_java连接sqlserver2008驱动包
- 博主已开启评论精选什么意思_小红书怎么入驻怎么开店小红书如何入驻开店需要什么...
- 十大经典排序算法----堆排序(超详细)
- 编码器差分信号转脉冲信号变送A、B和Z三相差分同时转换
- ssl证书失败的原因有哪些
- mysql 省市区三级联动_javaweb--json--ajax--mysql实现省市区三级联动(附三级联动数据库)...
- SQLPrompt 激活使用
- 项目实战——旅行社导航页