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之yield表达式学习
Sep 02 Python
python爬虫之百度API调用方法
Jun 11 Python
python学习之matplotlib绘制散点图实例
Dec 09 Python
python中使用zip函数出现错误的原因
Sep 28 Python
python3+requests接口自动化session操作方法
Oct 13 Python
Python常见数据类型转换操作示例
May 08 Python
Python Django框架url反向解析实现动态生成对应的url链接示例
Oct 18 Python
Win10下安装并使用tensorflow-gpu1.8.0+python3.6全过程分析(显卡MX250+CUDA9.0+cudnn)
Feb 17 Python
python GUI库图形界面开发之PyQt5窗口控件QWidget详细使用方法
Feb 26 Python
解决Python 异常TypeError: cannot concatenate 'str' and 'int' objects
Apr 08 Python
基于Python实现简单学生管理系统
Jul 24 Python
Python+Selenium随机生成手机验证码并检查页面上是否弹出重复手机号码提示框
Sep 21 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
使用tp框架和SQL语句查询数据表中的某字段包含某值
2019/10/18 PHP
限制复选框的最大可选数
2006/07/01 Javascript
javascript入门·动态的时钟,显示完整的一些方法,新年倒计时
2007/10/01 Javascript
QUnit jQuery的TDD框架
2010/11/04 Javascript
javascript学习笔记(九) js对象 设计模式
2012/06/19 Javascript
文本框input聚焦失焦样式实现代码
2012/10/12 Javascript
Jquery解析json数据详解
2013/12/26 Javascript
jQuery截取指定长度字符串代码
2014/08/21 Javascript
javascript中Date format(js日期格式化)方法小结
2015/12/17 Javascript
异步加载JS、CSS代码(推荐)
2016/06/15 Javascript
wap手机端解决返回上一页的js实例
2016/12/08 Javascript
nodejs 实现钉钉ISV接入的加密解密方法
2017/01/16 NodeJs
Vue实现表格中对数据进行转换、处理的方法
2018/09/06 Javascript
JS轮播图的实现方法2
2020/08/25 Javascript
Python中input和raw_input的一点区别
2014/10/21 Python
Python 出现错误TypeError: ‘NoneType’ object is not iterable解决办法
2017/01/12 Python
python3.x 将byte转成字符串的方法
2018/07/17 Python
python re正则匹配网页中图片url地址的方法
2018/12/20 Python
python3的数据类型及数据类型转换实例详解
2019/08/20 Python
Python使用Pandas库常见操作详解
2020/01/16 Python
python输入一个水仙花数(三位数) 输出百位十位个位实例
2020/05/03 Python
Visual Studio Code搭建django项目的方法步骤
2020/09/17 Python
美国玛丽莎收藏奢华时尚商店:Marissa Collections
2016/11/21 全球购物
纪伊国屋新加坡网上书店:Kinokuniya新加坡
2017/12/29 全球购物
艺术家策划的室内设计:Curious Egg
2019/03/06 全球购物
DNA基因检测和分析:23andMe
2019/05/01 全球购物
本科生学习总结的自我评价
2013/10/02 职场文书
土木工程专业个人求职信
2013/12/05 职场文书
电气自动化个人求职信范文
2014/02/03 职场文书
英文演讲稿开场白
2014/08/25 职场文书
领导走群众路线整改措施思想汇报
2014/10/12 职场文书
药品销售内勤岗位职责
2015/04/13 职场文书
《怀念母亲》教学反思
2016/02/19 职场文书
MySQL外键约束(FOREIGN KEY)案例讲解
2021/08/23 MySQL
请求模块urllib之PYTHON爬虫的基本使用
2022/04/08 Python
css样式important规则的正确使用方式
2022/06/10 HTML / CSS