Python实现自动签到脚本功能


Posted in Python onAugust 20, 2020

实训课期间忙里偷闲的学习了python的selenium包,唯一一点不好是要自己去查英文文档,明摆着欺负我这种英语不好的,想着用谷歌翻译一下,代码也给我翻译了,不知道是几个意思。

大二的时候就让我们做自动签到脚本,说用JS可以写一下,但是说着说着就给忘了,现在学了python后又想起来要写一个自动签到的脚本,不得不佩服python的强大,短短二十行左右的代码就实现了,虽然说脚本还需要手动操作去运行,以后还是可以慢慢优化的。

开发环境 : Windows10 + sublime(编辑器装好python环境)

selenium的开发文档网址(英语好的可以直接看这个,写的很详细):http://selenium-python.readthedocs.io/

因为实现的时候使用的是谷歌浏览器,在运行脚本时需要下载一个chromedriver.exe,下载地址为(注意根据自己的谷歌浏览器的版本来下载):http://npm.taobao.org/mirrors/chromedriver/

可以在里面找到符合自己浏览器版本的chromedriver,我的谷歌版本为67.0.3396.99,下载的是 2.40/ 下的最新版,下载之后将解压后的.exe文件放到PATH中,这里我直接将文件放入了我的python36文件下,这样就不用配置PATH了。

Python实现自动签到脚本功能

首先在dos中输入下面的命令,下载selenium包 :

pip install selenium

然后就可以开始写具体的代码了,首先导入webdriver与time,其中time用于延时,以保证网页加载完成。

# 方便延时加载
import time
from selenium import webdriver
 
# 模拟浏览器打开网站
browser = webdriver.Chrome()
browser.get('https://www.ctguqmx.com')
# 将窗口最大化
browser.maximize_window()
 
# 根据路径找到按钮,并模拟进行点击
browser.find_element_by_xpath('/html/body/div[1]/div/div[4]/span/a[1]').click()
# 延时2秒,以便网页加载所有元素,避免之后找不到对应的元素
time.sleep(2)
 
# 格式是PEP8自动转的
# 这里是找到输入框,发送要输入的用户名和密码,模拟登陆
browser.find_element_by_xpath(
 "//*[@id='aw-login-user-name']").send_keys("账号")
browser.find_element_by_xpath(
 "//*[@id='aw-login-user-password']").send_keys("密码")
# 在输入用户名和密码之后,点击登陆按钮
browser.find_element_by_xpath("//*[@id='login_submit']").click()
time.sleep(2)
 
# 点击登陆后的页面中的签到,跳转到签到页面
browser.find_element_by_xpath("/html/body/div[1]/div/div[5]/a").click()
time.sleep(2)
 
# 点击签到,实现功能
browser.find_element_by_xpath("//*[@id='qd_button']").click()
time.sleep(2)
 
# 这个print其实没事什么用,如果真的要测试脚本是否运行成功,可以用try来抛出异常
print("签到成功")
 
# 脚本运行成功,退出浏览器
browser.quit()

以上实现了自动签到的功能,不需要自己动手打开网页了,直接运行脚本就可以实现签到。

最后就是在写脚本的时候遇到的小问题,昨天写脚本的时候专门下了一个phantomjs,以前selenium还是支持的,使用phantomjs可以不需要浏览器就可以实现自动签到,昨天写的时候,上面报错,说phantomjs被弃用了。

还有就是使用浏览器模拟登陆的时候总是报错 : get() missing 1 required positional argument: 'url' ,然后下载chromedriver之后就好了。

在之前还尝试过使用火狐浏览器去实现自动签到,火狐也需要下载一个geckodriver.exe,下载之后也是要去编辑PATH,为了方便就直接把geckodriver.exe放在了python36的文件夹下,但是这个要求好像挺多的,我的火狐和geckodriver都是最新版,他还是会报错,不让打开火狐,后来我就选了chrome(还是谷歌大法好)。

总结

到此这篇关于Python实现自动签到脚本的文章就介绍到这了,更多相关Python自动签到脚本内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Python 相关文章推荐
Python time模块详解(常用函数实例讲解,非常好)
Apr 24 Python
python执行等待程序直到第二天零点的方法
Apr 23 Python
Python中List.index()方法的使用教程
May 20 Python
Python调用ctypes使用C函数printf的方法
Aug 23 Python
Python中defaultdict与lambda表达式用法实例小结
Apr 09 Python
Python图像处理之直线和曲线的拟合与绘制【curve_fit()应用】
Dec 26 Python
解决python3.5 正常安装 却不能直接使用Tkinter包的问题
Feb 22 Python
python中从for循环延申到推导式的具体使用
Nov 29 Python
Python语言异常处理测试过程解析
Jan 08 Python
python with (as)语句实例详解
Feb 04 Python
python中sort sorted reverse reversed函数的区别说明
May 11 Python
Python字符串的15个基本操作(小结)
Feb 03 Python
python如何随机生成高强度密码
Aug 19 #Python
python实现图片转换成素描和漫画格式
Aug 19 #Python
python+django+selenium搭建简易自动化测试
Aug 19 #Python
python 中的命名空间,你真的了解吗?
Aug 19 #Python
13个Pandas实用技巧,助你提高开发效率
Aug 19 #Python
python环境搭建和pycharm的安装配置及汉化详细教程(零基础小白版)
Aug 19 #Python
Python实现自动签到脚本的示例代码
Aug 19 #Python
You might like
PHP第一季视频教程(李炎恢+php100 不断更新)
2011/05/29 PHP
php中删除字符串中最先出现某个字符的实现代码
2013/02/03 PHP
关于js与php互相传值的介绍
2013/06/25 PHP
php实现图片缩放功能类
2013/12/18 PHP
php使用正则过滤js脚本代码实例
2014/05/10 PHP
PHP中SESSION的注销与清除
2015/04/16 PHP
Laravel 5.5 的自定义验证对象/类示例代码详解
2017/08/29 PHP
javascript基于jQuery的表格悬停变色/恢复,表格点击变色/恢复,点击行选Checkbox
2008/08/05 Javascript
js 代码集(学习js的朋友可以看下)
2009/07/22 Javascript
JS遮罩层效果 兼容ie firefox jQuery遮罩层
2010/07/26 Javascript
基于jquery的web页面日期格式化插件
2011/11/15 Javascript
js之事件冒泡和事件捕获详细介绍
2013/10/28 Javascript
基于jquery插件制作左右按钮与标题文字图片切换效果
2013/11/07 Javascript
JavaScript学习小结之被嫌弃的eval函数和with语句实例详解
2016/08/01 Javascript
Google 地图获取API Key详细教程
2016/08/06 Javascript
Bootstrap进度条与AJAX后端数据传递结合使用实例详解
2017/04/23 Javascript
element-ui 的el-button组件中添加自定义颜色和图标的实现方法
2018/10/26 Javascript
微信小程序学习笔记之函数定义、页面渲染图文详解
2019/03/28 Javascript
ES6 Generator函数的应用实例分析
2019/06/26 Javascript
Vue v-bind动态绑定class实例方法
2020/01/15 Javascript
python3模拟百度登录并实现百度贴吧签到示例分享(百度贴吧自动签到)
2014/02/24 Python
Python中的map、reduce和filter浅析
2014/04/26 Python
Python压缩和解压缩zip文件
2015/02/14 Python
Python格式化压缩后的JS文件的方法
2015/03/05 Python
python thrift搭建服务端和客户端测试程序
2018/01/17 Python
关于tf.reverse_sequence()简述
2020/01/20 Python
linux mint中搜狗输入法导致pycharm卡死的问题
2020/10/28 Python
Opencv python 图片生成视频的方法示例
2020/11/18 Python
DHC中国官方购物网站:日本通信销售No.1化妆品
2016/08/20 全球购物
Raleigh兰令自行车美国官网:英国凤头牌自行车
2018/01/08 全球购物
SmartBuyGlasses比利时:购买品牌太阳镜和眼镜
2019/08/09 全球购物
Prototype中如何为一个元素添加一个方法
2014/12/08 面试题
英语求职信范文
2014/05/23 职场文书
工商管理专业毕业生求职信
2014/05/26 职场文书
Redis性能监控的实现
2021/07/09 Redis
redis数据一致性的实现示例
2022/03/18 Redis