用Python+Selenium来测试登录自动登录163邮箱

  • 1 准备条件
  • 2 程序说明
  • 3 代码

1 准备条件

① windows系统(也许你是Linux,Mac,自行选择)
②安装了Anaconda(或者python3)
③安装了selenium (不知道可以百度一下)
④安装了ChromeDriver驱动 (不知道可以百度一下)
⑤使用pycharm开发工具(可以使用其他开发工具)

2 程序说明

笔者只是自己学习研究相关内容,程序写的很小小小小白。

3 代码

# -*-coding:utf-8-*-
#@Author: 凝聚才华
#@Time: 2020031109'''
说明:
1. 本测试只供学习selenium交流,请勿用在任何商用用途。
2. 本测试实验,在20200311日时,测试运行时是可以正常工作的,如果你运行失败,可能是由于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邮箱相关推荐

  1. 利用python+selenium带上cookies自动登录bilibili

    利用python+selenium带上cookies自动登录bilibili 环境 selenium的安装 思路 第一部分:手动登录,保存cookies 第二部分:读取cookies自动登录 环境 环 ...

  2. 【Python】基于Selenium实现上海大学校园网自动登录

    [Python]基于Selenium实现上海大学校园网自动登录 安装selenium Selenium官网 以anaconda环境为例,创建一个Selenium的虚拟环境,若不需要可以不做第一.二步 ...

  3. Ubuntu20.04实现Python基于Selenium实现上海大学校园网自动登录

    Ubuntu20.04实现Python基于Selenium实现上海大学校园网自动登录 以anaconda环境为例,创建一个Selenium的虚拟环境: 一.安装selenium 1. conda cr ...

  4. Python+Selenium+phantomjs实现网页模拟登录和截图

    Python+Selenium+phantomjs实现网页模拟登录和截图 本文全部操作均在windows环境下 安装 Python Python是一种跨平台的计算机程序设计语言,它可以运行在Windo ...

  5. 智能玩具 数据采集 首页展示 注册 登录 自动登录 二维码图片

    玩具需求分析 1.语音实时通讯 - 让玩具成为孩子与父母之间沟通的桥梁 分支 建立幼儿社交圈2.积极正面幼教内容 - 让玩具能够播放 父母选定的儿歌,故事,百科,英语- 通过语音识别内容名称 玩具可以 ...

  6. python+selenium 实现 问卷星自动抢讲座

    python + selenium 实现 问卷星自动抢讲座 文章目录 python + selenium 实现 问卷星自动抢讲座 一.代码 二.解析 1.安装selenium库 1)PyCharm 编 ...

  7. python + selenium 实现 问卷星自动抢讲座

    python + selenium 实现 问卷星自动抢讲座,抢不到讲座的同学可以借鉴一下 这是我写的代码 from selenium import webdriver from selenium.we ...

  8. ruby自动注册163邮箱

    下面一段是ruby自动注册163邮箱的代码,未封装,未加入验证码识别,有兴趣的朋友可以完善一下. #encoding:utf-8 #auto reg email of mail.163.com Tim ...

  9. Python《使用Selenium 和pyautogui 实现自动登录淘宝》

    有了上一博文学习即基础,这一节想来学习下自动登录淘宝. 直接整上测试代码: from selenium import webdriver # import logging import time fr ...

最新文章

  1. LeetCode 376. 摆动序列(贪心 动态规划)
  2. pythonwx功能_python中wx模块的具体使用方法
  3. 为什么要用BigDecimal
  4. OpenCV-浮雕雕刻效果
  5. 深度学习推荐模型-DeepFM
  6. 计算机设计大赛作品——冬奥可视化
  7. matlab 色彩的范围,Matlab - 将2个颜色条设置为带有色彩图和良好范围的2个图例...
  8. SAP MM采购信息记录作用与浅析
  9. linux gtk主题安装教程,如何获取、安装和制作 GTK 主题
  10. pythonmathcot函数_NumPy数学函数介绍和用法
  11. 量子物理 詹班 计算机,6量子物理作业答案.doc
  12. 外设驱动调试经验汇总--每天加一点
  13. 小麦苗blog文章索引
  14. 易签到PHP源码,会议签到系统(会易签到)应用项目源码
  15. 2021-06-22第十章主讲
  16. mysql 备份数据库结账_简单的结账功能(可用于各种结账)
  17. Matlab中定义接口超类
  18. All In One - 第3章 安全工程
  19. mac brew 测速 软件_最好用的网络测速工具speedtest
  20. opencv 车牌识别

热门文章

  1. Qt中文乱码解决办法
  2. mysql5.7修改密码set password for ‘root‘@‘localhost‘=password(‘123456‘);
  3. sql2008java驱动_java连接sqlserver2008驱动包
  4. 博主已开启评论精选什么意思_小红书怎么入驻怎么开店小红书如何入驻开店需要什么...
  5. 十大经典排序算法----堆排序(超详细)
  6. 编码器差分信号转脉冲信号变送A、B和Z三相差分同时转换
  7. ssl证书失败的原因有哪些
  8. mysql 省市区三级联动_javaweb--json--ajax--mysql实现省市区三级联动(附三级联动数据库)...
  9. SQLPrompt 激活使用
  10. 项目实战——旅行社导航页