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创建文件和追加文件内容实例
Oct 21 Python
Python获取系统默认字符编码的方法
Jun 04 Python
深入解析Python中的descriptor描述器的作用及用法
Jun 27 Python
Python中安装easy_install的方法
Nov 18 Python
python中dict使用方法详解
Jul 17 Python
详解Python中的正斜杠与反斜杠
Aug 09 Python
Python实现鼠标自动在屏幕上随机移动功能
Mar 14 Python
Python连接HDFS实现文件上传下载及Pandas转换文本文件到CSV操作
Jun 06 Python
python怎么调用自己的函数
Jul 01 Python
安装pyecharts1.8.0版本后导入pyecharts模块绘图时报错: “所有图表类型将在 v1.9.0 版本开始强制使用 ChartItem 进行数据项配置 ”的解决方法
Aug 18 Python
用python绘制樱花树
Oct 09 Python
如何在Win10系统使用Python3连接Hive
Oct 15 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
DedeCMS 核心类TypeLink.class.php摘要笔记
2010/04/07 PHP
php操作XML、读取数据和写入数据的实现代码
2014/08/15 PHP
php页面函数设置超时限制的方法
2014/12/01 PHP
php计算一个文件大小的方法
2015/03/30 PHP
PHP生成指定随机字符串的简单实现方法
2015/04/01 PHP
Yii框架上传图片用法总结
2016/03/28 PHP
javascript replace()正则替换实现代码
2010/02/26 Javascript
jQuery 打造动态渐变按钮 详细图文教程
2010/04/25 Javascript
jquery操作select大全
2014/04/25 Javascript
Jquery中扩展方法extend使用技巧
2014/08/24 Javascript
使用jQuery处理AJAX请求的基础学习教程
2016/05/10 Javascript
JavaScript实现Java中Map容器的方法
2016/10/09 Javascript
jQuery插件版本冲突的处理方法分析
2017/01/16 Javascript
Vue引入sass并配置全局变量的方法
2018/06/27 Javascript
vue实现的网易云音乐在线播放和下载功能案例
2019/02/18 Javascript
jQuery实现简单聊天室
2020/02/08 jQuery
[16:56]heroes英雄教学 司夜刺客
2014/09/18 DOTA
详解Python中列表和元祖的使用方法
2015/04/25 Python
Python基础教程之tcp socket编程详解及简单实例
2017/02/23 Python
Python工厂函数用法实例分析
2018/05/14 Python
Python查找第n个子串的技巧分享
2018/06/27 Python
Python类的继承、多态及获取对象信息操作详解
2019/02/28 Python
详解django+django-celery+celery的整合实战
2019/03/19 Python
python 实现rolling和apply函数的向下取值操作
2020/06/08 Python
法国和欧洲海边和滑雪度假:Pierre & Vacances
2017/01/04 全球购物
美国复古街头服饰精品店:Need Supply Co.
2017/02/22 全球购物
七一党建活动方案
2014/01/28 职场文书
班班通校本培训方案
2014/03/12 职场文书
美术社团活动总结
2014/06/27 职场文书
青春励志演讲稿范文
2014/08/25 职场文书
2015年实习单位评语
2015/03/25 职场文书
正规欠条模板
2015/07/03 职场文书
2016年第十四个公民道德宣传日活动总
2016/04/01 职场文书
小学秋季运动会加油口号及加油稿
2019/08/19 职场文书
java基础——多线程
2021/07/03 Java/Android
理解python中装饰器的作用
2021/07/21 Python