使用selenium模拟登陆163邮箱

AI权益加码!Claude Code、Cursor等20+工具免费用! 购周边限时加赠Coding Plan Lite,畅享主流AI工具!学习进阶更高效! 阅读详情

摘要

这次主要是稍微学习一下selenium,并进行简单的模拟登陆。网络上有许多有意思的网站,不同类型的网站爬虫策略不同,难度也不一样。从是否要登录这方面讲,一些简单网站不需要登录就可以爬取,比如猫眼电影、豆瓣250榜单等。还有一些是需要先登录才能爬取,比如微信、知乎、学校的教务系统等。
selenium是一个自动化测试工具,利用它可以驱动浏览器执行特定的动作,如点击、下拉等操作,同时还可以获取浏览器当前呈现的源代码,做到见到什么爬什么。
在寒假的时候我爬取过学校的教务系统的成绩,感觉比较简单,所以今天,再来一个简单的模拟登陆163邮箱温习一下。

准备工作

我用的是Chrome浏览器,所以需要下载对应版本的ChromeDriver并配置好。
这是ChromeDriver的官方下载网址

https://sites.google.com/a/chromium.org/chromedriver/

顺便安装好selenium

pip install selenium
开整

首先,如往常一样,打开浏览器,打开pycharm,创建个新的py文件,然后导包并声明浏览器对象。

from selenium import webdriver
browser = webdriver.Chrome()

然后查看一下163邮箱登录页面的源代码
在这里插入图片描述
哦豁完蛋,iframe表单嵌套,由于网页中iframe的id是动态的,所以不能用id寻找邮箱账号对应的iframe,所以这里用frame的index来定位,代码如下:

browser.switch_to.frame(0)

然后找邮箱的账号和密码输入框以及登录按钮,顺便把自己的账号密码输入到框里,然后登陆
在这里插入图片描述
在这里插入图片描述
完整代码

import time
from selenium import webdriver
browser = webdriver.Chrome()
browser.get('https://mail.163.com')
time.sleep(3)
#iframe = browser.find_element_by_tag_name('iframe')
#browser.switch_to.frame(iframe)
browser.switch_to.frame(0)
browser.find_element_by_name("email").clear()
browser.find_element_by_name("email").send_keys('Ying****)
browser.find_element_by_name("password").clear()
browser.find_element_by_name("password").send_keys('w******')
browser.find_element_by_id("dologin").click()

总结

在找iframe的时候代码browser.switch_to_frame()是被划了删除线 好像是因为更新了的原因吧 所以要改写成browser.switch_to.frame()才可以使用。
frame标签有frameset、frame、iframe三种,frameset跟其他普通标签没有区别,不会影响到正常的定位。而frame与iframe对selenium定位而言是一样的,内部的元素都会不能直接定位到。

python+selenium完整的自动化测试163邮箱实战 之前,通过学习所写得是简单的163自动化登录测试。但是真正实际的项目不可能那么简单的,经过最近的学习和简单的实战项目的操作,小编对前面的例子做了一些调整和修改。     树立了测试框架如下图: 其中增加了测试用例的集成,测试报告输出,自动发送最新的测试报告等功能。 其中test_case目录如下: 其中all_test.py为执行代码块,集成了输出测试报告与自动发送邮件的功能,代码如下 阅读详情

相关推荐

selenium模拟登录163邮箱(有两种方式,行为链)

** 用selenium模拟登录163邮箱 ** #方案一 # from selenium import webdriver # from selenium.webdriver.common.action_chains import ActionChains # from selenium.webdriver.common.by import By # import time # driver = webdriver.Chrome() # driver.get('https://mail.163.com/

weixin_54481030的博客 973

模拟163完整发送邮件

完整的,模拟163邮箱,实现发送邮件的功能,包括背景图片,上传多个附件,以及身份验证,测试通过!

selenium模拟登陆163邮箱

这算是学习之余的一个小练习,想要爬虫离不开selenium,所以最近还在看selenium的资料,昨天上手时间,忙活了一天,填上了几个坑,在这里记录一下: 坑1:首先是webdriver放置位置的坑,现象是无法自动调起浏览器,报错好像是“...XXX not in the PATH...”(忘记了,大概是这样的) 填坑:其实这个PATH跟环境变量没有关系,只是webdriver需要放到如下两个...

weixin_42140638的博客 579

163邮箱自动化模拟登录Python实现

python实现爬虫功能,进入自动化测试,模拟自动登录163邮箱,环境:chrome 版本 70.0.3538.67 python版本 3.7

163邮箱模拟登录

入口地址:http://email.163.com 首先你必须拥有一个@163.com结尾的邮箱。 通过抓包分析,发现: 点击登录,先访问 https://mail.163.com/entry/cgi/ntesdoor?funcid=loginone&language=-1&passtype=1&iframe=1&product

一光年 5万+

零基础:Python之Selenium操作浏览器模拟登陆QQ邮箱

零基础:Python之Selenium操作浏览器模拟登陆QQ邮箱一、 Selenium简介二、 环境配置2.1 Python运行环境搭建2.2 Selenium相关安装与配置2.2.1 Selenium安装2.2.2 Selenium Driver安装与配置三、 操作 一、 Selenium简介 Selenium是一个用于Web应用程序测试的工具。Selenium测试直接运行在浏览器中,模拟用户在...

Penn Li的博客 2158

爬虫学习3.1 使用selenium模拟登陆163邮箱

任务描述 安装selenium并学习 安装selenium并学习。 使用selenium模拟登陆163邮箱163邮箱直通点:https://mail.163.com/ 。 参考资料:https://blog.csdn.net/weixin_42937385/article/details/88150379 话不多说,先上代码: import time from selenium impo...

wxl1999的博客 779

python模拟登录163邮箱_python selenium模拟登陆163邮箱

selenium是可以模拟浏览器操作。有些爬虫是异步加载的,通过爬取网页源码是得不到需要的内容。所以可以模拟浏览器去登陆该网站进行爬取操作。需要安装selenium通过pip install xxx安装,如果你使用的Anaconda3,可以使用conda install xxx这些都是可以值得一提的是,需要下载chromdriver,就是chrome浏览器的驱动。百度搜索下载,下载之前看你的chr...

weixin_39594439的博客 306

selenium+python模拟登陆163邮箱

下午学习了一下selenium写自动化脚本,原本书上的教程是模拟登陆126邮箱,所以我想做一个模拟登陆163邮箱,没想到里面还有很多坑。 1、163邮箱的账号密码区域的input标签的id是自动生成的,每次都不能用,所以不能用于定位标签 2、登陆处是一个iframe,需要程序中切换一下:drive.switch_to.frame(),不然会找不到标签 3、加载这个iframe需要一定

imcy的博客 5163

python利用selenium模拟登陆163邮箱

首先需要定位登录框的地址,分析过程见https://www.jianshu.com/p/d59a5611c053 登陆框标签是一个iframe,且id每次都是不一样的,因此不能按id值查找,这里先按xpath查找,再用switch_to.frame(iframe)获得,具体代码如下: from selenium import webdriver import time from sele...

feiyang5260的博客 1074

python模拟登录163邮箱_selenium+python 模拟登陆网易邮箱

selenium 模拟登陆网易邮箱实例selenium一、selenium 模拟登陆网易邮箱老样子,先来看看效果图吧(我没有设置正确的账号和密码,大家自己试的时候可以设置自己的账号密码),思路和分析都在下边,不懂语法的小伙伴可以看webdriver使用方法,下面我有整理。查看网页源码,发现这个标签的id是 switchAccountLoginbrowser.find_element_by_id('...

weixin_39637256的博客 655

爬虫(2) selenium模拟登陆163邮箱出现的问题及解决方案

起始操作: from selenium import webdriver from selenium.webdriver.common.by import By from selenium.webdriver.common.keys import Keys from selenium.webdriver.support.wait import WebDriverWait import time ...

Hesy_H的博客 1234

Datawhale爬虫(第5期)入门第五练,使用Selenium模拟登陆163邮箱

Selenium 是什么? Selenium 是一个用于 Web 应用程序测试的工具。它直接运行在浏览器中,就像真实的用户在操作一样,由于这个性质,Selenium 也是一个强大的网络数据采集工具,它可以让浏览器自动加载页面,这样使用了异步加载技术的网页,也可获取其需要的数据。 Selenium 模块是Python 的第三方库,可以通过 pip 进行安装 pip install selenium ...

weixin_39906001的博客 742

python 利用selenium登陆网易邮箱

Datawhale爬虫 第五期 Day2 任务要求:使用selenium模拟登陆163邮箱 要点:switch_to alert ——返回浏览器的Alert对象,可对浏览器alert、confirm、prompt框操作 default_content() ——切到主文 frame(frame_reference) ——切到某个fram parent_frame() ——切到父fram win...

asdfqwersdv3we的博客 409

python 大众点评模拟登陆_python项目实战:模拟登陆163邮箱,简单到爆

前言相信大家都会做一些有趣的Python项目,对于小白的我们来说,如果成功了的话,那成就感是非常爆棚的的,这也是非常有助学习。接下来,为大家介绍一个selenium 模拟登陆163邮箱的代码首先导入库import timefrom selenium import webdriver如果没有selenium库的话,自己在的pycharm的命令行上pip一下就好了,插件的话,网上大把主体代码def l...

weixin_39614675的博客 278

python3爬虫实战(二):使用selenium模拟登陆163邮箱和抓取西刺代理并构建自己的代理池

安装selenium并学习 1.安装selenium并学习 1.1selenium介绍: selenium是一款支持多种语言、多种浏览器和多个平台的开源web自动化测试软件,测试人员可以用python、java等语言编写自动化测试脚本,使得浏览器可以完全按照脚本运行,大大节省测试人员用鼠标点击测试浏览器的时间。 1.2安装selenium和chromedriver: 安装selenium非常简单,...

1058

第二十九节: 模拟登陆

一、126,163邮箱模拟登陆 1 # -*- coding:utf-8 -*- 2 import time 3 from selenium import webdriver 4 def login126_or_163emall(url): 5 login_name = input("请输入账号:") 6 login_password =...

weixin_30321709的博客 298
上一篇: 爬虫练手——使用Beautiful Soup、XPath分别获取丁香园论坛回复内容
下一篇: 线性回归算法梳理——Test1
YingWGY
博客等级 码龄9年 1粉丝 6原创
评论 11
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值