首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Python用ChromeDriver 实现登录和签到

0 前言

上个星期天,老师给我一堆账号,让我测试一下他们有没有去修改密码,我随手测试了几个之后发现有 500+ 个账户,想都没想就着手写代码了。

是用 Python 实现的,再加上一个 ChromeDriver 。不过这个代码不能公布出来,不然我就要喝茶了

好在之前写过类似的代码,能把以前写过的代码拿出来做例子,还行,又不是不能用

1 下载

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

进入之后看一下谷歌浏览器的版本和 ChromeDriver 所支持的版本,如果是合适的,那就直接下载最新的 ChromeDriver。

如果想下载别的版本的 ChromeDriver,直接修改 path= 后面的数字就好。

下载完成后解压,可以把解压后的文件放在别的地方,我是放在了谷歌浏览器的目录下,因为这样相对来说比较好找。

别的浏览器也有对应的 Driver,可以自行前去下载。

https://selenium-python.readthedocs.io/installation.html

2 使用

先导入 webdriver 和 time,time 是用来防止操作过快。

对 webdriver 进行设置,我习惯了用隐身模式打开;driver_path 是 chromedriver.exe 的路径,

这里我用的是 css_selector,因为相对来说比较简单。

get() 方法是打开链接; send_keys() 方法是把内容填写上去;click() 方法是模拟点击。

time.sleep(3) 是推迟 3 秒再去执行,也就是暂停 3 秒。

这里和上面是一样的,不过是已经登录进去之后再执行。close()方法是关闭浏览器。

把上面的代码依次复制到运行环境中,然后修改网址,修改账户和密码就能实现自动登录和签到了。

这个代码适用于大部分的酸酸乳网站,只要是那一套模板改出来的都适用。

3 说明

可以使用PhantomJS(无头浏览器),来达到目的,不过我懒得写了。

http://phantomjs.org/

在使用中可能会遇到要判断是否登录进去的情况,有一个思路是判断有没有登录成功后特有的元素,如果有则执行代码;如果没有,则执行别的代码。

例如:

当我写完这篇文字之后我发现原来我之前写过

类似的文章

, 这个就有点尴尬了。

题图:Photo by Gijs Coolen on Unsplash

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20181220A14ETQ00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券