首页 > 其他分享 >自动签到脚本

自动签到脚本

时间:2023-08-28 14:24:18浏览次数:59  
标签:脚本 XPATH 签到 driver id 自动 div find

使用Python + selenium + ChromeDriver实现一个自动签到脚本

本文是在以下网址实现自动签到:

https://www.wenpblog.com/login.html

供参考

我的配置:

系统:windows10
python: Python 3.10.6
selenium: 4.11.2
chrome: 版本 86.0.4240.198(正式版本) (32 位)
chromdriver: 86.0.4240.22

1、配置环境

前提是安装好python和pip,系统环境变量设置已经设置好;
使用pip命令安装selenium;
安装自己Chrome游览器对应版本的ChromeDriver;
安装地址:

http://chromedriver.storage.googleapis.com/index.html

环境变量设置

将解压后的exe文件复制到你chrome游览器exe文件所在的目录中,如下图:

将chrome所在目录的地址添加到系统的环境变量中;
起效的测试方法:
win+r下,调用cmd;键入chromedriver,可以看到:

最后保险起见,可以重启一下,更新设置;

2、编写脚本

import time
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
from selenium.webdriver.common.by import By

myusername = "[email protected]"#登录账号
mypassword = "danqing414"#登录密码

# option = webdriver.ChromeOptions()
# option.binary_location = r'C:\Program Files (x86)\Chromiumbrowser\Chromium.exe'

driver = webdriver.Chrome()
driver.maximize_window() #将窗口最大化
driver.get("https://www.wenpblog.com/login.html")

try:
    # 找到登录框,输入账号密码
    driver.find_element(By.XPATH, '//*[@id="email"]').send_keys(myusername)
    driver.find_element(By.XPATH, '//*[@id="password"]').send_keys(mypassword)
    time.sleep(1)

    # 模拟点击登录
    driver.find_element(By.XPATH, '//*[@id="top"]/div[1]/main/div/div[2]/div/div[3]/div[4]/a[2]').click()
    driver.find_element(By.XPATH, '//*[@id="tpis-from"]/menu/button[4]').click() # 点击确认

    # 找到签到界面
    driver.find_element(By.XPATH, '//*[@id="top"]/div[1]/header/div[2]/nav/a[7]').click()
    time.sleep(2)

    # 点击签到界面
    driver.find_element(By.XPATH, '//*[@id="top"]/div[1]/main/div/div/div[2]/div[2]/a').click()
    time.sleep(1)
    
    driver.find_element(By.XPATH, '//*[@id="tpis-from"]/menu/button[4]').click()
    print("签到成功")
  
except:
    print("签到失败")

driver.quit#退

可以试着先试验一下;

3、在windows环境下设置定时任务

参考 csdn上 相关文章:
https://blog.csdn.net/l8947943/article/details/119898781

最终定时界面:一天执行一次

标签:脚本,XPATH,签到,driver,id,自动,div,find
From: https://www.cnblogs.com/xuan01/p/17662155.html

相关文章

  • 让你的网站IE8浏览自动用IE7兼容模式
    文件兼容性用于定义让IE如何编译你的网页。此文件解释文件兼容性,如何指定你网站的文件兼容性模式以及如何判断一个网页该使用的文件模式。前言为了帮助确保你的网页在所有未来的IE版本都有一致的外观,IE8引入了文件兼容性。在IE6中引入一个增设的兼容性模式,文件兼容性使你能够在IE呈......
  • [urlrewrite]使用urlrewrite进行地址自动重定向
    一般通过url访问网站,url的格式都是http://xxx.xxx.com?param=p1&param=p2 这是最传统的访问方式,但是,对于一些具有特殊要求的系统,其所有的页面的地址并不一定是这样子的格式,或者是类似于struts风格的.do的方式,比如http://xxx.xxx.com/aa.do其中的aa并不是action映射名称,而是其中一......
  • electron自动更新
    electron可通过electron-updater实现客户端自动更新mian.js//检测更新,在你想要检查更新的时候执行,renderer事件触发后的操作自行编写functionupdateHandle(){//letmessage={//error:'检查更新出错',//checking:'正在检查更新……',//......
  • buildroot 构建根文件系统(2)开机自启动脚本
    一、开发背景构建最小系统后成功运行后,有些应用或者脚本需要开机自启动,不要手动操作二、开发需求开机启动用户路径下的test.sh脚本/root/test.sh三、开发环境LinuxUbuntu 4.15.0-65-generic+ buildroot-2023.02.3+i.mx6d(cortex-A9)四、实现步骤1......
  • CSS的htc文件对于脚本生成的html无效的处理方法
    最近用PIE.htc开发CSS3的网页时,发现用到PIE.htc的CSS效果对于用脚本生成的html代码都无效的情况众所周知htc是IE针对CSS开放的一种特殊实现方式htc的实现是在页面载入完成后开始的,类似于js的window.onload(),它并不是像CSS语言那样,成为浏览器原生的语言,所以当页面内容使用js生成时,其......
  • 智能传感器发展趋势 自动检测、自动识别、自动计算功能的传感器
    智能传感器发展趋势自动检测、自动识别、自动计算功能的传感器智能传感器是指带有自主学习、智能分析和自我诊断能力的传感器。它们可以实现检测、监测、计量和控制等功能,广泛应用于环境监测、工业自动化、智能家居、医疗健康等领域。未来智能传感器的发展趋势包括以下几个方面:低......
  • React加载组件后自动触发某函数,而不需要点击按钮
    问题在项目中使用了ReactToPrint来实现打印,但是trigger属性中的按钮需要点击才能执行打印。期望能在组件加载完成时自动执行打印方法。解决可在组件加载完成时,通过id获取组件,并执行该组件的click方法。代码如下:importReact,{useRef,useEffect}from'react';//.........
  • NC26212 小石的签到题
    题目链接题目题目描述小石和小阳玩游戏,一共有\(n\)个数,分别为\(1\simn\)。两人轮流取数,小石先手。对于每轮取数,都必须选择剩下数中的任意一个数\(x\),同时还要取走\(x,\left\lfloor\frac{x}{2}\right\rfloor,\left\lfloor\frac{\left\lfloor\frac{x}{2}\right......
  • Obsidian插件Excalidraw安装slideshow脚本
    原文地址:https://www.cnblogs.com/liqinglucky/p/slideshow.html插件介绍:Excalidraw的动态演示效果来了,伟大的匈牙利大叔又放狠招了,你的Obsidian更好用了_哔哩哔哩_bilibili由于一开始我的电脑访问github很慢,在安装slideshow时总是提示couldnotopenscriptenginerepository......
  • js 判断如果是移动端就自动跳转到 移动端的页面上去
    js判断如果是移动端就自动跳转到移动端的页面上去 <script>!(function(){constuserAgent=naviator.userAgent;constandroid=userAgent.match(/(Android);?[\s\/]+([\d.]+)?/);constiphone=userAgent.......