欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

用Python写网页的自动签到

程序员文章站 2022-06-28 11:58:32
[TOC] 前言 暑假搞数学建模接触到了Python,不得已成为了一个Py吹,Python作为动态的高级语言,在方便的同时也伴随了想当强的灵活性,学Python首先是为了写爬虫,在写爬虫之前先来点小前奏,用Python的Selenium包实现模拟点击,完成启明星工作室论坛的自动签到。(因为本人老是沉 ......

目录

前言

暑假搞数学建模接触到了python,不得已成为了一个py吹,python作为动态的高级语言,在方便的同时也伴随了想当强的灵活性,学python首先是为了写爬虫,在写爬虫之前先来点小前奏,用python的selenium包实现模拟点击,完成启明星工作室论坛的自动签到。(因为本人老是沉迷学习忘记签到而被罚款^_^)

第1步.环境准备(用的chrome浏览器)

1.安装selenium包
pip install selenium
2.下载驱动;
找到符合自己浏览器版本的chromedriver驱动,下载解压后,将chromedriver.exe文件放到python目录下的scripts目录下,也可以添加环境变量到path中;

第2步.selenium脚本源码

比较简单,而且有详细注释就不一一说明了

# -*- coding: utf-8 -*-
import time 
from selenium import webdriver
from selenium.webdriver.common.keys import keys

#myusername = "xxx"#登录账号
#mypassword = "xxx"#登录密码

driver = webdriver.chrome() #模拟浏览器打开网站
driver.get("https://www.ctguqmx.com")
#driver.maximize_window() #将窗口最大化

try:
    driver.find_element_by_xpath('/html/body/div[1]/div/div[4]/span/a[1]').click()#定位语句去源码中找
    time.sleep(2)#延时加载
    
    #找到登录框,输入账号密码
    driver.find_element_by_xpath("//*[@id='aw-login-user-name']").send_keys("myusername")
    driver.find_element_by_xpath("//*[@id='aw-login-user-password']").send_keys("mypassword")
        
    
    #模拟点击登录
    driver.find_element_by_xpath("//*[@id='login_submit']").click()
    time.sleep(2)
    
    #模拟登陆后点击签到界面
    driver.find_element_by_xpath("/html/body/div[1]/div/div[5]/a").click()
    time.sleep(2)
    
    #模拟点击签到
    driver.find_element_by_xpath("//*[@id='qd_button']").click
    time.sleep(2)
    
    print("签到成功")
    
except:
        print("签到失败")

driver.quit#退出去动

注:写完之后可以尝试运行代码,如果报错rror:install_util.cc(597)] unable to read registry value hklm\software\policies\google\chrome\machinelevelusercloudpolicyenrollmenttoken可以在注册列表中在提示路径下添加字符串值chrome\machinelevelusercloudpolicyenrollmenttoken

第3步.添加windows定时任务

1.我的电脑>右键管理>(左侧栏)任务计划程序>microsoft>windows>(右侧栏)创建任务(详见百度)
2.设置任务:
命名任务
用Python写网页的自动签到
设置触发器
用Python写网页的自动签到
设置操作
用Python写网页的自动签到
注意:该方法的前提是py后缀的脚本文件默认打开方式是python,可以先尝试一下,本人就是默认python打开,如果不行可以用下面方法设置默认打开方式:
1.win+r打开运行;
2.输入regedit,确定;
3.在打开的注册表中找到以下目录:
hkey_classes-root->python.file->shell->open->command
4.将该项的内容修改为:
“d:\python\python3.6.1\pythonw.exe” “d:\python\python3.6.1\lib\idlelib\idle.pyw” -e “%1”
(将其中的路径修改为自己python的安装路径即可)

参考

python+selenium自动签到实例
python实现自动签到脚本