Python+selenium 脚本实现自动签到(windows/mac)

起初学Python最想做的就是实现自动签到了,而且是全自动的,电脑关机也能运行签到的那种,后来代码实现了但是偏偏驱动器出问题了,也就是程序运行第一步 不能打开浏览器,后来我的pycharm的环境也出各种问题,我乱增改路径导致我的python的pip指令都运行不了了,或许是以前乱删了电脑的一些文件吧,于是就这么放了一段时间,直到今天十一放假了,我终于重装了系统(很久之前就想重装了),所有ide都重装了一遍,环境也配了一遍,在美丽的小姐姐指导下还安了sql server ,签到脚本也可以正常运行了,特别开心的实现了我开学以来就一直想着的小愿望,明天去长沙了我要好好玩。

自动签到脚本实现:

利用了 selenium这个强大的库,主要用xpath定位,过程就是利用驱动器打开网页,点击登录,利用xpath定位到表单实现自动输入账号密码,登录成功,再利用xpath实现点击签到按钮,实现签到

关于不想自己用绝对定位找Xpath的偷懒方法:

在URL的页面选中某一元素,在F12的开发工具内,点击对应元素的右键

copy—>xpath

即可取到某元素的xpath

1.导包

from bs4 import BeautifulSoup 
from selenium import webdriver 
import requests 
import time //后续延时加载需要用到

2.关于驱动器的安装,第一步查看浏览器版本,我只知道谷歌的,火狐浏览器也很好,但是我在重装系统以后就没用它了 ,很奇怪我的谷歌浏览器好像一直有问题,在查看版本的时候一直显示更新错误,好在没有对我的操作造成什么影响:

 

我被这个驱动器坑惨了,首先就是型号和驱动器要匹配,这个链接里面有型号匹配和下载各个适用版本的驱动器的网址:https://blog.csdn.net/huilan_same/article/details/51896672,下载好以后记得把驱动器放到安装python的那个文件夹里面。

 运行驱动器的代码:

browser = webdriver.Chrome() //利用驱动器打开网页
browser.get('https://www.ctguqmx.com') //需要打开网页的网址

3.找到登录按钮,点击打开登录界面实现自动登录

browser.find_element_by_xpath('/html/body/div[1]/div/div[4]/span/a[1]').click()
time.sleep(1)
 
# 输入账号密码 点击登录
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(1)

 4.进入登录界面以后 点击签到按钮,完成签到

browser.find_element_by_xpath('/html/body/div[1]/div/div[5]/a').click()
time.sleep(1)
browser.find_element_by_xpath('//*[@id="qd_button"]').click()
time.sleep(1)
 
browser.quit();

 

接下来就是自动的实现了,在搜索行中输入“任务计划程序”

根据需要自己可设置程序运行时间 :

着重说一下运行脚本这一块:

【程序或脚本】文本框中填的是Python编译器的名称,一般就是python.exe,

【起始于】文本框中填的是Python编译器的目录,一般python默认路径为:

C:\Users\17871\AppData\Local\Programs\Python\Python37  这里AppData是隐藏的文件夹,在我的电脑里面设置一下显示隐藏文件就好了

【添加参数】文本框中填的是你的Python程序的完整路径,也就是要执行的.py文件的位置

这三部分连起来就是在Windows命令行下输入“python C:\Users\qimingxing.py” 

不知道为什么我设置了不管电脑用户是否登录 都运行该脚本却没有用,我只好再设置一个定时自动唤醒,再运行脚本.,,,方法一样,通过执行脚本shutdown.exe来唤醒计算机。


2019.10.21 因为最近写了一个在签到领金币的脚本,关于mac上定时运行py脚本现做如下更新:

首先输入命令行 打开crontab:

sudo crontab -e

其他crontab命令:

crontab -l显示目前所有的任务
crontab -r删除所有的任务
crontab -e编辑任务
crontab file -用指定的文件替代目前的crontab。
crontab-[-u user]-用标准输入替代目前的crontab.
crontab-1[user]-列出用户目前的crontab.
crontab-e[user]-编辑用户目前的crontab.
crontab-d[user]-删除用户目前的crontab.
crontab-c dir- 指定crontab的目录

输入 i 进入编辑,和vim一样,输入i启动编辑,然后就是添加程序执行的时间和路径啦:

//以下是测试样例1,让电脑每分钟自动播报hello world

* * * * * say hello world 注意每个星号之间有空格!!!
随即按":wq!“保存并退出

会出现
Password:
crontab: no crontab for root - using an empty one
crontab: installing new crontab
不用担心这个报错

 

五个星号表示:
minute — 分钟,整数范围:0~59 
hour — 小时,整数范围0~23
day — 日期,整数范围:1~31(如果指定了月份,必须是该月份的有效日期) 
month — 月份,整数范围:1~12(或使用月份的英文简写如 jan、feb等等) 
dayofweek — 星期,整数范围0~7,其中0 或 7 代表星期日(或使用星期的英文简写如sun、mon 等等)

每2小时执行:

* */2 * * * say hello world

每周日执行:

* * * * 0 say hello world

每周六、周日执行:

* * * * 6,7 say hello world

每小时的第3分钟执行:

3 * * * * say hello world

晚上11点到早上7点之间,每隔一小时运行一次hello.py
0 11 4 * mon-wed /usr/local/hello.py

诸如现在是我要在每天早上9点45运行我在/user/test.py 
 

45 9 * * * python /users/hello.py

 

  • 5
    点赞
  • 31
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 7
    评论
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小半、

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值