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

Stephenzsky 2019-03-20

欢迎点击右上角关注小编,除了分享技术文章之外还有很多福利,私信学习资料可以领取包括不限于Python实战演练、PDF电子文档、面试集锦、学习资料等。

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

基本环境配置

版本: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选择器获取该节点。如图:

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

"写信"节点

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

邮件主题

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

邮件内容

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

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

"发送"节点

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

登录限制

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

完整代码

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

相关推荐