社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
Py学习  »  Python

Python模拟登录网易163邮箱并发送SOS邮件

python • 6 年前 • 426 次点击  


基本环境配置

版本:Python3

系统:Windows

需要安装:

1. Selenium - 建议使用低版本的Python-Selenium库,因为高版本在Chrome中不支持。

pip3 install selenium==2.48.0

2. chromedriver.exe - 版本要匹配。将 .exe 程序放在"..Python\Python36\Scripts"目录下。

3. pymysql

pip3 install pymysql

登录界面iframe

iframe的id值添加了时间戳,直接获取相对麻烦。可通过XPATH或CSS选择器获取该节点。如图:


"写信"节点

写信节点的元素定位li节点, 不要定位span子节点,否则获取不到。另外,如果是获取APP节点,可以选择小一级的。

邮件主题

主题节点不可交互,无法输入文字,这里选择不设置。

邮件内容

邮件内容的文本输入框处于iframe中,输入文本前需要切换frame,可直接通过class获取并切换。如图:


"发送"节点

由于输入邮件内容时切换至子页面,在点击发送前需要切换到父级Frame。

登录限制

不要频繁使用Selenium, 否则会出现点触式验证。当然,完全可以破解。但是,网易相对友好,短时间过后便可恢复正常访问,也不会ban IP。

完整代码

*声明:本文于网络整理,版权归原作者所有,如来源信息有误或侵犯权益,请联系我们删除或授权事宜。

觉得不错,点个“在看”然后转发出去

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/43042