使用Python和Selenium构建简单的自动登录机器人
字数 993 字 阅读时长 ≈ 4 分钟
专题: Python
孩子随全国流感大浪潮,反复高烧住院一周了。天天守在医院里,平板和苏菲婆也胜任不了日常工作。于是抽空回顾了一些以前学习了,却没有派上用场的知识。
python是当初报了个9块9的班入了个门。不得不感叹它确实是一门相当好掌握的语言,而且工具很多。难怪陈总一直用它做小工具。说到自动化、机器学习、神经网络,真的是一个都绕不开python。这次参考了hongkiat上的一篇文章,实现了Gmail自动登录。
准备工作
这个实践中,与原作者不同,我使用了以下工具:
安装后,重新启动计算机以使安装生效。
在cmd中输入pip install selenium
,将Selenium Web自动化工具包添加到Python中。Selenium让我们可以通过代码来滚动页面、复制文本、填写表单和点击按钮。
下载对应的 Chrome 驱动,然后解压到Python根目录。
编写代码
首先,导入Selenium Python库中所需的模块。
打开你喜欢的任意python编辑器,我偏向于vscode,因为它免费。当然,我绝不否认 jetbrain 的 PyCharm 是我用过的最强Python IDE。
创建文件 gmail.py
,加入以下代码:
1 | from selenium import webdriver |
然后,写入你的用户名和密码:
1 | username = 'yourUsername' |
接下来就通过驱动程序打开Chrome,并跳转到Gmail的登录页面。
1 | browser = webdriver.Chrome() |
寻找节点元素
通过前面的代码,我们跳转到了登录页面。接下来要找到页面中的节点来输入用户名和密码。
F12打开Chrome的开发者工具,使用选择工具找到节点元素。
我们在代码中使用html的id
属性找到Email
并填入用户名。然后,我们则需要再点击Next
按钮,以便切换到输入密码的界面。
1 | # 填充用户名,并点击下一步按钮 |
原本接下来就应该输入密码,点击登录。但是代码执行速度远远快于页面切换的速度,因此我们需要让程序等一会,直到它找到密码输入框。
1 | # 在找到密码输入框之前,等待最多10秒 |
总结
现在已经简单的完成了自动登录Gmail的机器人。
注意,由于安全原因,最后极可能登录失败。
然而,这个实践的重点根本不在于能不能登录gmail。它告诉我们如何通过代码打开网页,跳转到需要的页面,查找到所需要的元素,进行相应的操作,最后得到我们想要的结果。这个自动化过程可以应用的场景实在太多,给人带来无穷无尽的可能性和想象空间。
但是,要记得合法合理合情使用,不要作死!
最后附上 gmail.py
完整代码:
1 | from selenium import webdriver |
♦ 本文固定连接:https://www.gsgundam.com/archive/2022-07-07-how-to-auto-create-login-bot-python-selenium/
♦ 转载请注明:GSGundam 2022年07月07日发布于 GSGUNDAM砍柴工
♦ 本文版权归作者,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文链接。
♦ 原创不易,如果页面上有适合你的广告,不妨点击一下看看,支持作者。(广告来源:Google Adsense)
♦ 本文总阅读量次