一个内网自动签到签退的脚本
加入域退出域的脚本
新装的电脑,我喜欢用VBS,来实现,计算机名、IP、子网、网关、DNS、WINS及域的自动加入。
因为楼主的方法需要先装SUPPOT工具。
感觉很麻烦。
感觉脚本很方便:下面是我的脚本内容。
不过各有各的好处。
看大家选择。
首先的脚本有两个VBS文件,一个是renamecomputer.vbs ,用于计算机名称; 二是joindomain.vbs ,用于IP、子网、网关、DNS、WINS及域的加入.第一个脚本执行后,再执行第二个,脚本内容如下:1、renamecomputer.vbsstrComputerName = InputBox("Please type your new computer name","Input") strComputer = "."Set objWMIService = GetObject("winmgmts:" _& "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")Set colComputers = objWMIService.ExecQuery _("Select * from Win32_ComputerSystem")For Each objComputer in colComputersstrErr = objComputer.Rename(strComputername)NextIf strErr = 0 ThenSet objShell = CreateObject("Wscript.shell")Set fso = CreateObject("Scripting.FileSystemObject")fso.CopyFile "joindomain.vbs","c:\windows\system32\"objshell.RegWrite"HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnce\joindomain","c:\windows\ system32\joindomain.vbs","REG_SZ"return=MsgBox("Yes for reboot,no for cancel.",vbYesNo+vbInformation,"Information")If return=6 Then objshell.Run("cmd /c shutdown.exe -r -t 0")End If2、joindomain.vbsConst JOIN_DOMAIN = 1Const ACCT_CREATE = 2Const ACCT_DELETE = 4Const WIN9X_UPGRADE = 16Const DOMAIN_JOIN_IF_JOINED = 32Const JOIN_UNSECURE = 64Const MACHINE_PASSWORD_PASSED = 128Const DEFERRED_SPN_SET = 256Const INSTALL_INVOCATION = 262144'strIPAddress = array("10.15.1.40")strIPAddress = array(InputBox("Please type your IP address","Input")) strSubnetMask = array("255.255.0.0")strGateway = array("10.15.0.253")strGatewayMetric = array("1")strwinsOne = "10.15.0.1"strwinsTwo = "10.100.1.2"'strdnsOne = InputBox("Please type your first DNS address","Input")strdnsOne = "10.15.0.1"'strdnsTwo = InputBox("Please type your second DNS address","Input") strdnsTwo = "10.100.1.2"'strDomain = InputBox("Please type your domain name","Input")strDomain = ""'strUser = InputBox("Please type your domain user name","Input")strUser = "lafferli"strPassword = InputBox("Please type you domain user's password","Input")strComputer = "."Set objShell = CreateObject("Wscript.shell")Set objWMIService = GetObject("winmgmts:" _& "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")Set colNetCards = objWMIService.ExecQuery _("Select * From Win32_NetworkAdapterConfiguration Where IPEnabled = True")For Each objNetCard in colNetCardserrEnable = objNetCard.EnableStatic(strIPAddress,strSubnetMask)errGateways = objNetCard.SetGateways(strGateway,strGatewayMetric)arrDNSServers = Array(strdnsone, strdnstwo)objNetCard.SetDNSServerSearchOrder(arrDNSServers)SetWins = objNetCard.SetWINSServer(strwinsOne,strwinsTwo)'arrWINSServers = Array(strwinsOne, strwinsTwo)'objNetCard.SetWINSServer strwinsOne,strwinsTwo'objNetCard.WINSPrimaryServer strwinsOne'objNetCard.WINSSecondaryServer strwinsTwoNextSet objNet = CreateObject("work")strComputerName = puterNameSet objComputer = GetObject("winmgmts:{impersonationLevel=Impersonate}!\\" & _ strComputer & "\root\cimv2:Win32_='" & _strComputername & "'")ReturnValue = objComputer.JoinDomainOrWorkGroup(strDomain, _strPassword, strDomain & "\" & strUser, NULL, _JOIN_DOMAIN + ACCT_CREATE)If returnvalue = 0 Thenreturn =MsgBox("Now the script will reboot your computer.",vbOKOnly+vbInformation,"Information")If return = 1 Then objshell.Run("cmd /c shutdown.exe -r -t 0")End if3、此脚本执行时,会提示输入计算机名和IP地址及加入域时用到的用户的密码。
油猴脚本大全
油猴脚本大全油猴脚本是一种可以在浏览器上运行的用户脚本管理器,它可以让用户在网页上添加自定义脚本,以实现个性化定制和功能增强。
在本文档中,我们将介绍一些常用的油猴脚本,帮助您更好地了解和使用这一功能强大的工具。
1. 广告屏蔽脚本。
广告屏蔽脚本是油猴脚本中最常见的一种,它可以帮助用户屏蔽网页中的广告内容,提升浏览体验。
通过安装这类脚本,用户可以在浏览网页时不受到广告的干扰,专注于阅读和浏览内容。
2. 视频下载脚本。
视频下载脚本可以帮助用户在浏览网页时轻松下载在线视频,方便用户在无网络环境下观看。
这类脚本通常会在视频播放页面上添加下载按钮或者菜单,用户可以通过点击按钮或者菜单来下载他们所需要的视频内容。
3. 自动签到脚本。
许多网站都提供了每日签到的功能,通过安装自动签到脚本,用户可以实现自动签到,免去了手动签到的麻烦。
这类脚本通常会在用户访问网站时自动执行签到操作,用户无需手动操作即可完成签到。
4. 界面美化脚本。
界面美化脚本可以帮助用户美化网页的界面,改变网页的颜色、字体、布局等,提升用户的视觉体验。
通过安装这类脚本,用户可以根据自己的喜好来定制网页的外观,让浏览更加舒适。
5. 快捷操作脚本。
快捷操作脚本可以帮助用户实现一些网页操作的快捷方式,比如快速搜索、快速复制粘贴等。
这类脚本通常会在浏览器中添加一些快捷键或者菜单,用户可以通过快捷键或者菜单来快速完成一些常用操作。
6. 数据统计脚本。
数据统计脚本可以帮助用户对网页上的数据进行统计分析,比如网站访问量、用户行为等。
通过安装这类脚本,用户可以获取更多的数据信息,帮助他们更好地了解网页的使用情况。
7. 安全防护脚本。
安全防护脚本可以帮助用户提升网页浏览的安全性,防止恶意网站攻击和信息泄露。
这类脚本通常会对用户的浏览行为进行监控和过滤,保护用户的隐私和安全。
总结。
油猴脚本是一种强大的浏览器扩展工具,通过安装不同类型的脚本,用户可以实现对网页的个性化定制和功能增强。
《2024年基于OpenWRT技术的WiFi签到系统》范文
《基于OpenWRT技术的WiFi签到系统》篇一一、引言随着信息化、网络化时代的到来,人们的生活与科技息息相关。
其中,WiFi网络已成为人们生活中不可或缺的一部分。
在此背景下,一种高效、智能、安全的WiFi签到系统逐渐成为了企业和公共场所的需求。
本系统采用OpenWRT技术进行设计开发,以满足高效、稳定、可扩展的WiFi签到需求。
二、OpenWRT技术概述OpenWRT是一个开源的路由器操作系统,以其强大的功能和灵活性而著称。
通过安装OpenWRT操作系统和配套的软件工具,我们可以构建出一个强大、稳定的无线网络系统。
在本WiFi 签到系统中,OpenWRT主要用于以下几个方面:1. 网络连接管理:通过OpenWRT实现路由器的网络连接功能,保证系统的网络稳定性和高效性。
2. 认证机制:通过集成认证机制,实现对用户身份的验证和管理。
3. 安全性保障:通过OpenWRT的防火墙和安全策略,保障系统的安全性和稳定性。
三、WiFi签到系统设计本系统基于OpenWRT技术进行设计开发,主要包括以下几个部分:1. 硬件设备:采用支持OpenWRT的路由器作为硬件设备,实现网络连接和信号传输。
2. 软件系统:在路由器上安装OpenWRT操作系统和配套的软件工具,实现系统的各项功能。
3. 用户认证:通过集成认证机制,实现用户身份的验证和管理。
用户可以通过输入用户名和密码或使用其他认证方式进行身份验证。
4. 签到功能:用户在通过身份验证后,可以通过WiFi网络进行签到操作。
系统可以记录用户的签到时间和地点等信息。
5. 数据处理:系统可以对签到数据进行处理和分析,为后续的应用提供支持。
四、系统实现与优化1. 用户界面:本系统提供简洁明了的用户界面,使用户能够快速地进行签到操作。
同时,界面支持多种语言,方便不同地区的用户使用。
2. 性能优化:通过优化网络连接和数据处理等关键环节,提高系统的性能和响应速度。
同时,系统还支持自动更新和升级功能,保证系统的稳定性和安全性。
签到签退提醒资料
//设置通知属性
notification.alertBody=@"还有5分钟,记得签到哦!";//通知主体
// //notification.applicationIconBadgeNumber=1;//应用程序图标右上角显示的消息数
// notification.repeatInterval=2;//通知重复次数
//notification.repeatCalendar=[NSCalendar currentCalendar];//当前日历,使用前最好设置时区等信息以便能够自动同步时间
//设置通知属性
notification.alertBody=@"还有10分钟,记得签到哦!";//通知主体
[dfsetDateFormat:@"HH:mm:ss"];
NSDate*date = [NSDatedate];
NSTimeZone*zone = [NSTimeZonesystemTimeZone];
NSIntegerinterval = [zonesecondsFromGMTForDate: date];
//设置用户信息
erInfo=@{@"id":@1,@"user":@"Kenshin Cui"};//绑定到通知上的其他附加信息
//调用通知
[[UIApplicationsharedApplication]scheduleLocalNotification:notification];
UILocalNotification*notification=[[UILocalNotificationalloc]init];
qiandao pt用法
qiandao pt用法
鉴于您的任务名称为"qiandao pt用法",我将为您提供有关该主题的文章。
qiandao pt是一种用于签到网站的方法,旨在提高用户的签到效率和奖励获取。
该方法可以用于各种pt站点,包括但不限于电影、音乐、游戏等。
首先,要使用qiandao pt,您需要确认所使用的pt站点是否支持该签到方式。
一些pt站点提供了方便的接口或脚本,使用户能够快速进行签到操作。
在登录您
的pt账户后,您可以在网页中寻找关于签到的说明或相关页面。
一旦您找到了签到的相关页面,您可以按照以下步骤进行操作:
1. 检查签到时间:有些pt站点要求用户在特定的时间段内进行签到,以确保公平性。
请确保您在正确的时间进行签到。
2. 点击签到按钮:在签到页面上,您通常会看到一个明显的签到按钮。
请注意,有些站点会在签到按钮上设置验证码,以确保用户真实性。
输入正确的验证码后,继续下一步。
3. 签到成功提示:一旦您完成签到操作,可以看到签到成功的提示信息。
这意
味着您已经成功签到,并有资格获得相应的奖励。
4. 奖励获取:在许多pt站点中,签到会带来一定的奖励,比如下载积分、魔力值、等级提升等。
您可以根据站点规则了解奖励的具体内容和获取方式。
总结而言,使用qiandao pt可以帮助用户提高签到效率和获取奖励。
但是,请
注意合理使用和遵守各个pt站点的规则,不要滥用该功能。
希望以上信息对您有所帮助!如果您还有任何疑问,请随时向我提问。
签到签退提醒
说明:还有5(10,15)分钟到上班时间时推送提醒消息,下班时间已过5(10,15)分钟时推送提醒消息,上班和下班时间均为从服务器获取的配置时间
NSDateFormatter*df=[[NSDateFormatteralloc]init];
[dfsetTimeZone:[NSTimeZonetimeZoneWithAbbreviation:@"UTC"]];
notification.soundName=UILocalNotificationDefaultSoundName;//收到通知时播放的声音,默认消息声音
// notification.soundName=@"msg.caf";//通知声音(需要真机才能听到声音)
//设置用户信息
erInfo=@{@"id":@1,@"user":@"Kenshin Cui"};//绑定到通知上的其他附加信息
NSDate*pmDate=[dfdateFromString:pmTime];
if([[UIApplicationsharedApplication]currentUserNotificationSettings].types!=UIUserNotificationTypeNone) {
if(inRemind ==YES) {
}
}elseif([label2.textisEqualToString:@"延后10分钟提醒"]) {
NSDate*delayTime = [NSDatedateWithTimeInterval:60*10sinceDate:pmDate];
NSTimeIntervaloutRemindTime=[delayTimetimeIntervalSinceDate:localDate];
教你用python编写脚本实现自动签到
教你⽤python编写脚本实现⾃动签到⽬录1. 背景原因2. 签到原理3. 需要的环境selenium4. 安装模拟的插件5. 下载完成6.正题7. 完⼯!8. 更新1. 背景原因最近才上班,要求每天打卡!我⽼是忘记,于是乎搞个脚本进⾏⾃动签到。
2. 签到原理模拟⽤户进⾏⾃⾏输⼊,然后登录,然后签到,在研究过程中使⽤到了python的selenium包,本⼈在win10环境中进⾏测试使⽤,可以实现基本的⾃动打卡。
3. 需要的环境seleniumpip install selenium4. 安装模拟的插件5. 下载完成将插件放到Chrome.exe所在的⽂件夹下,如图:6.正题开始⼯作结束,接下来进⼊代码正题:import timeimport datetimeimport randomfrom selenium import webdriverdef morning_clockin():# 找到插件的路径,使⽤它驱动操作browser = webdriver.Chrome('C:\Program Files\Google\Chrome\Application\chromedriver.exe')# 选择需要打卡的⽹址,填⼊你的签到⽹页browser.get('https://www.baudu.login')# 找到邮件和密码输⼊框的xpath,并在对应的位置送⼊账号密码browser.find_element_by_xpath('//*[@id="email"]').send_keys("724183***@")browser.find_element_by_xpath('//*[@id="passwd"]').send_keys("zhan******")# 找到登录按钮的xpath,模拟点击browser.find_element_by_xpath('//*[@id="login"]').click()time.sleep(2)# 找到签到按钮的xpath,模拟签到browser.find_element_by_xpath('/html/body/div[3]/div[7]/div/button').click()if __name__ == '__main__':# 获取当天的星期,周六⽇不打卡today = datetime.datetime.now().weekday() + 1if (today % 7 == 0) or (today % 7 == 6):print("今天是本周的第 {} 天,⽆需打卡!".format(datetime.datetime.now().weekday() + 1))# ⼯作⽇打卡else:# 早上打卡---设置0-300秒之间随机数打卡print(datetime.datetime.now())random_time = random.randint(0, 60)time.sleep(random_time)# 进⾏打卡morning_clockin()print(datetime.datetime.now())7. 完⼯!如果有验证码,可以使⽤带验证码的百度插件api进⾏调⽤,我是纯内部系统⽆验证码,没研究验证码部分。
shell脚本自动检测网络掉线和自动重连
shell脚本⾃动检测⽹络掉线和⾃动重连在ppp移植成功后,有时会出现ppp掉线等情况。
这篇⽂章写了⼀个⾃动检测连接⽹络的解决⽅法。
创建⼀个shell脚本,在⾥⾯添加⼀下内容。
(记得给操作权限)#!/bin/sh//根据你⾃⼰的shell类型来选择。
while true//先做⼀个死循环doping -c 3 -I ppp0 172.16.1.11 >/dev/null//指定⼀个出⼝去ping服务器的局域⽹ip,将结果重定向到/dev/null⾥。
//-c 3 是指ping执⾏3次后结束。
//-w 3 是指ping执⾏3秒后结束。
if [ $? -eq 0 ];then//[]的两边都要有空格隔开//当ping成功了,它的返回值为0,什么也不⽤⼲。
说明⽹络畅通。
//$?是⽤来获取函数返回值或者上⼀个命令的退出状态。
echo "ppp0 is ready"sleep 30//为了防⽌过度的占⽤cpu资源,选择延迟⼀段时间。
else//当不成功说明这个⽹络或出⼝有问题。
echo "ppp0 is connecting"pppd call connectvpn//重新拨号,刷新这个出⼝。
ifconfigsleep 30fisleep 30done程序中加⼊了延时,是为了减少检测所占⽤的cpu资源。
本脚本是⼀分钟检测⼀次⽹络状况。
当执⾏shell时出现syntax error: unexpected “then” (expecting “done”)报错是是因为编码格式不对,重新⼿打⼀遍就应该好了。
ps:linux检测程序是否挂掉并⾃动重新运⾏的脚本编写⼀个脚本替代应⽤程序的运⾏,也就是通过启动脚本来启动程序,并监测程序是否挂掉,若挂掉则重新运⾏#!/bin/shwhile truedops -ef | grep "$PWD/app/auto_run.sh" | grep -v "grep"if [ "$?" -eq 1 ]then/home/root/app/auto_run.sh #启动应⽤,修改成⾃⼰的启动应⽤脚本或命令echo "process has been restarted!"elseecho "process already started!"fisleep 10done总结以上所述是⼩编给⼤家介绍的shell脚本⾃动检测⽹络掉线和⾃动重连,希望对⼤家有所帮助,如果⼤家有任何疑问请给我留⾔,⼩编会及时回复⼤家的。
职业技能鉴定之学员签到签退系统new
高级机试考核准备通知单(A)一、工具、材料和设备的准备准备仅针对1名考生而言,鉴定所(站)应根据考生人数确定具体数量。
题目:学员签到、签退系统考试时间:120分钟二、考场准备1、考场内设有30个考位,每个考位有1台电脑,每个电脑桌的右上角贴有考号。
考场采光良好,不足部分采用照明补充,保证工作面的照度不小于100勒。
2、考场应干净整洁,空气新鲜,无环境干扰。
3、考场内应设有三相电源并装有漏电保护器。
4、考前由考务管理人员检查考场各考位应准备的电脑、电脑里安装的软件是否齐全,所贴考号是否有遗漏。
三、人员要求1、监考人员与考生比例为1:152、考评员与考生比例为1:30四、其他本机试总的考试时间为120分钟(不包含准备时间)。
高级机试考核试卷(A)题目:学员学生签到、签退系统考核要求:某大学的学生管理系统中有考勤模块现在由你完成,具体要求如下:1.学生只能签到后才能签退,只有签退后才能再次签到,签到和签退都要各记录一次数据。
2.管理员可以根据开始时间和结束时间段筛选查看不同班级学生的考勤记录,能够实现按学生姓名模糊查询考勤记录。
3.请按照推荐步骤完成该考勤模块。
数据库结构数据库名称:ManualAssign表:StudentInfo四、具体要求和功能实现步骤1、创建数据库2、建立数据表A、按照数据库表的设计说明,建立SQL Server 2005数据表,注意建立主键和外键的关联;B、在数据库表中初始输入一些测试数据项●ClassInfo表至少包括两个班级●StudentInfo表至少包括三个学生,而且要求至少有两个学生在同一个班级,至少两个学生属于不同的身份;●AssignInfo表初始置空,要求在你所完成的考勤系统中进行操作,至少有4条以上的考勤记录;3、设计编写主题代码A、在Visual Studio 2008中,使用C#建立一个 Web网站;B、设计一个登录界面Login.aspx,页面上放置一个Label,一个TextBox控件和一个Button控件,如图1所示,具体页面要求:●设置登录页面标题为:学生登录界面;●输入学号(对应StudentInfo表的StudentID字段)时使用TextBox控件,但是要求学号不能为空(如图1),另外要求验证所输入的学号是否在你已经建好的StudentInfo表中存在,若不存在则提示“用户不存在!”(如图2);●输入正确的学号后,点击“登录”按钮,要求传递学员的学号StudentID,判断该学生身份,如果该学生是普通学生,则进入MenualAssign.aspx页面;如果是管理员则进入ManualAssignSearch.aspx页面;图1:学员登录界面图2:学生号不存在时登录界面C、设计ManualAssign.aspx页面,页面上有两个Label控件,两个TextBox控件(签卡备注要求把TextMode属性设置为MultiLine)和两个Button控件●设置标题为:学生签到、签退;●初始状态下,签卡日期为系统的当前日期,根据获得的StudentID参数,在AssignInfo表中查找该学生最后一次签卡登记的AssignTag值,若为签到则“签到”按钮不可用,而“签退”按钮可用,否则“签到”按钮可用,而“签退”按钮不可用,如图3;●获得Login.aspx页面传递的StudentID参数,点“签到”按钮,把获得的StudentID、系统当前日期、签卡备注及签到标志添加到AssignInfo表,“签到”成功后自动回到登录页面,如图1,再次登录时“签到”按钮不可用,“签退”按钮可用,如图4;●点“签退”时,同“签到”一样记录签退信息,“签退”成功后也返回到登录界面,如图1,再次登录时“签到”按钮可用,“签退”按钮不可用,如图5;●如果登录用户身份时管理员,则直接进入ManualAssignSearch.aspx页面;图3:ManualAssign.aspx页面初始状态图4:点“签到“后再次登录的界面图5:点“签退”后再次登录的界面D、考勤历史记录查询页面ManualAssignSearch.aspx,有4个Label,3个TextBox,2个Button,1个DropDownList和1个GridView控件,如图6●设置标题为:学生考勤历史记录查询界面;●初始时把ClassInfo表绑定到DropDownList控件,其Text属性为班级名称,Value属性为班级编号,另外要在最上端添加“==请选择==”一个选项,如图6;●填写开始时间和结束时间,要求结束时间不应小于开始时间,如图7;●GridView开始是隐藏的,有数据后才显示,输入正确的开始时间和结束时间后,如果根据班级和姓名(模糊查询)进行筛选查询(若班级和姓名同时为空,则显示所有学生记录,若选定班级而姓名为空,则只显示该班级的学生记录;若班级和姓名都不为空,则显示班级和姓名同时限定的学生记录;若班级为空而姓名不为空,则根据姓名模糊查询相关记录),点“查询”后,则在GridView中显示学生的考勤信息,信息包括:签卡人、签卡时间、签卡标志、签卡备注和所属班级,如图8;●点“退出”按钮,则返回到登录页面;图6:绑定班级信息后,下拉菜单界面图7:结束时间小于开始时间的界面图8:根据选定的班级和姓名筛选查询的结果界面4、分离数据库,放在该工程目录下,一同提交五、提示1、建立Assign解决方案,解决方案中至少包含:表示层(AssignWeb)、业务逻辑层(AssignBLL)、数据访问层(AssignDAL)、模型层(AssignModels)四个独立项目;2、编写三层架构代码,数据访问层(AssignDAL)中的DBHelper文件已经提供并完成大部分代码(需要考生完成从web.config配置文件中connectionStrings配置节中取得数据库连接字符串的代码);六、注意事项及总体要求1、建立数据库的时候必须设置表的主键和外键。
加入域退出域的脚本
return=MsgBox("Yes for reboot,no for cancel.",vbYesNo+vbInformation,"Information")
If return=6 Then objshell.Run("cmd /c shutdown.exe -r -t 0")
& "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
Set colComputers = objWMIService.ExecQuery _
("Select * from Win32_ComputerSystem")
strUser = "lafferli"
strPassword = InputBox("Please type you domain user's password","Input")
strComputer = "."
Set objShell = CreateObject("Wscript.shell")
会议签到签退流程如何设计更高效
会议签到签退流程如何设计更高效在各类组织和活动中,会议是一种常见的沟通和决策方式。
而一个高效的会议签到签退流程不仅能够确保会议的顺利进行,还能节省时间、提高管理效率。
那么,如何设计这样一个流程呢?首先,我们需要明确会议签到签退的目的。
其主要目的是记录与会人员的出席情况,以便于组织者了解谁参加了会议,谁没有参加,同时也为后续的会议纪要、统计分析等工作提供基础数据。
在设计签到签退流程之前,要充分考虑会议的规模、性质和重要程度。
对于小型的内部会议,可能简单的纸质签到表就足够了;而对于大型的、正式的会议,可能需要采用更先进的技术手段,如电子签到系统。
纸质签到是最为传统的方式。
准备一张清晰的签到表,表头应包含会议名称、日期、时间、与会人员姓名等基本信息。
签到表可以按照姓氏拼音或者部门等方式进行排序,方便查找。
与会人员到达时,在对应的位置签名即可。
这种方式简单直接,但缺点是效率较低,容易出现字迹不清、代签等问题,而且后期统计也比较麻烦。
电子签到系统则是近年来越来越流行的方式。
常见的有二维码签到、人脸识别签到、指纹签到等。
二维码签到是让与会人员提前收到包含个人信息的二维码,到达现场后扫码即可完成签到。
人脸识别签到则是通过摄像头采集与会人员的面部信息进行比对验证。
指纹签到则是通过识别与会人员的指纹来确认身份。
这些电子签到方式不仅效率高,而且能够准确记录签到时间,避免了代签等问题,同时数据可以直接导入电脑进行统计分析,大大减轻了工作人员的负担。
无论是纸质签到还是电子签到,都需要提前做好准备工作。
比如,确定签到的时间和地点,提前通知与会人员签到的方式和注意事项。
对于电子签到,还需要提前测试设备,确保系统的稳定性。
在签到过程中,要有专人负责引导和协助与会人员完成签到。
对于不熟悉签到流程的人员,要耐心解释和帮助。
同时,要注意维护签到现场的秩序,避免出现拥挤和混乱。
签退流程的设计相对签到来说可以简单一些。
但同样需要明确签退的时间和方式。
python实现每天自动签到领积分的示例代码
python实现每天⾃动签到领积分的⽰例代码⾃动签到的python脚本源码新建⼀个python⽂件,checkin.py,保存到电脑上某个位置,我这⾥保存到的是E:\pyproject\checkin.py# 引⼊3个包from selenium import webdriverfrom time import sleepimport random# 程序启动后先休眠1-4秒sleep(random.randint(1, 4))# 调⽤Selenium WebDriver的库和各个浏览器的驱动进程进⾏交互,传递# Selenium命令给它们,并且获取命令执⾏的结果,返回给我们的代码进⾏处理。
# 下载有个chrome浏览器的驱动到本地,把驱动地址替换成你⾃⼰保存的地址# 通过webdriver.Chrome启动浏览器driver = webdriver.Chrome('E:\pyproject\chromedriver.exe')# 定义url地址,这个地址最好是未登录的情况下打开的签到页⾯url,以便登录后直接跳转到签到页⾯url = "http://xxxxxx"driver.get(url)# 获取当前页⾯的句柄new_handle = driver.current_window_handle# 切换到当前页⾯窗⼝driver.switch_to.window(new_handle)# 清空登录页⾯⽤户名和密码框内的内容:driver.find_element_by_id("ls_username").clear()driver.find_element_by_id("ls_password").clear()# 填⼊要登录的⽤户名和密码driver.find_element_by_id("ls_username").send_keys('你的⽹站⽤户名')driver.find_element_by_id("ls_password").send_keys('你的⽹站登录密码')# 填⼊后再休眠1-4秒钟sleep(random.randint(1, 4))# 通过CSS选择器,找到登录按钮,使⽤click()实现点击登录driver.find_element_by_css_selector(".pn.vm").click()# a = driver.find_elements_by_xpath('//button[@class="pn vm"]')# 获取登录后的页⾯new_handle = driver.current_window_handle# 切换到登录后的页⾯driver.switch_to.window(new_handle)# 休眠4秒,以便页⾯加载完毕,如果签到按钮没有加载出来就点击,签到会失败sleep(4)# 以下是两种获取点击按钮然后点击的⽅式,具体样式标签要视页⾯⽽定# driver.find_element_by_id("JD_sign").click()driver.find_element_by_xpath("//div//a[contains(@id,'JD_sign')]").click()# 休眠5秒sleep(5)# 关闭浏览器driver.quit() # driver.close()上⾯涉及到很多次休眠,为的是模拟真⼈点击⽹页,如果太机械,某些⽹站会识别为机器⼈在操作上⾯涉及到的选择器标签要根据⾃⼰的⽹页代码修改将程序添加到系统计划任务中,让它每天⾃动运⾏,步骤如下:1、点开资源管理器-此电脑-右键-管理,如下图:2、点开系统⼯具-任务计划程序-任务计划程序库-Microsoft-Windows,右边,创建基本任务…,如下图:3、创建基本任务:名称(随便起),如下图:4、触发器:每天,如下图:5、操作:启动程序,如下图:6、每⽇:设定你要启动程序的时间,如下图:7、下⼀步确定保存后,双击进⼊编辑任务,程序或脚本,输⼊python.exe的绝对路径(⽐如:E:\Users\maomao\AppData\Local\Programs\Python\Python36\python.exe),这⾥使⽤pythonw.exe也是可以的。
IE局域网设置代理的自动配置脚本介绍
isInNet()
时间条件函数:
weekdayRange()
dateRange()
timeRange()
实用条件函数:
dnsResolve()
myIpAddress()
dnsDomainLevels()
shExpMathost)
判断访问的是否为本地主机
尽管上面表示的函数法不是一个都包含gmt调调参数事个任一用配置文件中指定gmt调调调调参数不daymonthyear调调与指定匹配的日子才会返回true调调调调调调调调调在当地区月的第一天truedaterange1gmt在gmt调调truedaterange115truedaterange24dec12月24truedaterange24dec1995调调在当地1995年12月24truedaterangejanmar在当地区年第一季度truedaterange1jun15augtrue首末日期包括在内
PROXY :8080; PROXY :8081; DIRECT
条件函数
下面是可用于FindProxyForURL()函数体中的条件函数:
基于主机名的函数:
isPlainHostName()
dnsDomainIs()
localHostOrDomainIs()
}
2
如果您的PAC文件已经没有错误,您可以在IE中设置来使用该PAC文件。具体做法如下:
1. 打开IE,在“工具”菜单中选择“Internet选项”。
2. 点击“连接”,“局域网设置”。
3. 选择“使用自动配置脚本”,并输入脚本的位置,比如:
file://D:\setDat\pac设置代理脚本\pac-time.js
签到签退制度
签到签退制度1.目标我们的目标是引入签到签退制度,以确保员工的工作纪律,加强工作效率,并提高公司的管理水平。
2.背景和原因在过去的一段时间里,我们注意到公司内部缺乏一种明确的签到签退制度。
这导致了一些问题,包括员工迟到、早退、加班未记录等情况的发生。
这不仅影响了员工们的工作纪律,还影响了公司的工作效率和团队合作。
为了解决这些问题,引入签到签退制度是非常必要的。
这将有助于确保员工严格遵守工作时间,提高员工的工作效率和管理水平。
3.实施步骤- 公司将制定明确的签到签退政策,并将其通知给所有员工。
政策中将规定工作时间、签到签退的方式以及迟到早退的处罚条款等内容。
- 所有员工需要在每个工作日的上班时间开始前进行签到。
签到可以通过刷卡、指纹识别、电子记录等方式进行。
- 员工需要在每个工作日的下班时间结束后进行签退。
签退也可以使用相同的方式进行记录。
- 如果员工迟到,将依据政策规定采取相应的惩罚措施。
- 如果员工早退,同样将根据政策规定采取相应的处罚措施。
4.培训和沟通为了确保签到签退制度的有效实施,公司将举办培训会议,向所有员工介绍新政策并解释其背后的原因和重要性。
此外,公司将设立一个反馈渠道,员工可以提出任何与签到签退制度相关的问题或建议。
5.评估和调整公司将定期评估签到签退制度的执行情况,并根据实际情况进行调整和改进。
如果发现制度存在问题或不适用的地方,公司将及时进行修订。
6.预期效果引入签到签退制度后,我们期望能够达到以下效果:- 员工的工作纪律将得到加强,迟到、早退的情况将得到明显减少。
- 员工的工作效率和工作质量将得到提高,从而提升整个团队的绩效。
- 公司的管理水平将得到加强,能更好地掌握员工的工作情况和工作进度。
- 员工之间的团队合作将得到加强,相互之间的信任和配合将增强。
通过引入签到签退制度,我们相信公司的运营将更加规范和高效,为我们的发展提供坚实的基础。
参考文献:。
基于PHP的签到系统的设计与实现
目录第一章绪论 (19)1.1 课题背景与研究意义 (19)1.2 本文主要工作 (19)第二章技术简介 (20)2.1 WEB应用开发 (20)2.2 PHP架构 (20)2.3 MySQL数据库 (21)第三章系统需求分析 (21)3.1 业务分析 (21)3.2 系统用户设计 (22)3.3需求分析 (22)第四章系统概要设计 (23)4.1 系统业务流程设计 (23)4.1.1 修改密码业务流程 (23)4.1.2 员工信息管理业务流程 (23)4.2 系统数据库设计 (24)第五章详细设计 (25)5.1登录界面 (25)5.2员工信息查询界面 (26)5.3 员工密码修改界面 (27)5.4 员工信息添加 (28)5.5 签到查询 (29)第六章设计测试实验 (29)6.1 测试目的 (29)6.2 测试结果 (30)6.3总结 (30)结论 (30)参考文献 (31)致谢............................................................................................................. 错误!未定义书签。
基于PHP的签到系统设计与实现摘要:伴随着时代的进步,企业与学校规模的不断扩大,员工及学生的数量也随之急剧增加,那么有关员工及学生的各种数据信息也成倍的增长。
但是面对如此庞大的信息量,我个人认为是有必要去开发一个员工签到登陆系统来提高企业管理员工队员工出勤管理的效率。
这样我们就可以减少许多不必要的资源开销,节约人力资源,使企业可以更便利节约成本的考核员工的出勤。
因此,本文在充分研究上述问题的基础上,设计一个应用于企业员工的签到系统,提高员工签到效率,降低了企业的人力成本。
本文使用PHP,MySQL,实现了 B/S 结构的员工签到系统,PHP作为当前最主流的网页制作语言,结合MySQL数据库来制作此签到系统,使得企业员工和签到系统管理员无论何时何地,都可以便捷的登录我们的系统,进行签到和信息的查询操作。
python实现网页自动签到功能
python实现⽹页⾃动签到功能本⽂实例为⼤家分享了python实现⽹页⾃动签到功能的具体代码,供⼤家参考,具体内容如下第1步、环境准备(⽤的chrome浏览器)1.安装selenium包pip install selenium2.下载驱动;找到符合⾃⼰浏览器版本的chromedriver驱动,下载解压后,将chromedriver.exe⽂件放到Python⽬录下的Scripts⽬录下,也可以添加环境变量到Path中;第2步、Selenium脚本源码⽐较简单,⽽且有详细注释就不⼀⼀说明了# -*- coding: utf-8 -*-import timefrom selenium import webdriverfrom mon.keys import Keys#myusername = "XXX"#登录账号#mypassword = "XXX"#登录密码driver = webdriver.Chrome() #模拟浏览器打开⽹站driver.get("https://")#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_(597)] Unable to read registry valueHKLM\SOFTWARE\Policies\Google\Chrome\MachineLevelUserCloudPolicyEnrollmentToken可以在注册列表中在提⽰路径下添加字符串值Chrome\MachineLevelUserCloudPolicyEnrollmentToken第3步、添加Windows定时任务1.我的电脑>右键管理>(左侧栏)任务计划程序>Microsoft>Windows>(右侧栏)创建任务(详见百度)2.设置任务:命名任务设置触发器设置操作注意:该⽅法的前提是py后缀的脚本⽂件默认打开⽅式是python,可以先尝试⼀下,本⼈就是默认python打开,如果不⾏可以⽤下⾯⽅法设置默认打开⽅式:1.win+R打开运⾏;2.输⼊regedit,确定;3.在打开的注册表中找到以下⽬录:HKEY_CLASSES-ROOT->Python.file->shell->open->command4.将该项的内容修改为:“D:\Python\Python3.6.1\pythonw.exe” “D:\Python\Python3.6.1\Lib\idlelib\idle.pyw” -e “%1”(将其中的路径修改为⾃⼰python的安装路径即可)以上就是本⽂的全部内容,希望对⼤家的学习有所帮助,也希望⼤家多多⽀持。
我在校园自动签到系统
我在校园⾃动签到系统我不在校园介绍我不在校园是由nodejs客户端,Javaee服务端,python服务端脚本,c++编写的动态链接库⽂件构成的⾃动签到系统。
可以在上传token后⾃动完成⼀⽇四检。
客户端内置抓包模块,原理为中间⼈攻击。
客户端⼯作流程第⼀次打开程序,⾸先会安装SSL证书并让本机添加信任,使得代理服务器能够解析HTTPS协议的流量。
之后调⽤dll中已经封装好的⽅法,打开代理服务器并通知其他应⽤连接代理服务器。
连接完成后,开始过滤封包直到获得home.json,获得并上传包头的token,关闭服务器,通知其他应⽤代理服务器已关闭。
服务端⼯作流程获得客户端发来的ID与token后,插⼊到临时存放Token的数据库的临时表中,每天在四次签到前⼀分钟都会更新⽤户的数据,获取⽤户邮箱,晚点名接⼝等信息,插⼊或更新到主表中,脚本运⾏时间为每次签到开始的⼀分钟后。
如果Token已过期会发邮件提醒⽤户更新。
使⽤⽅法⾸先需要有⼀台windows系统的电脑,先打开程序,提⽰Start catch token后,再打开电脑版的微信⼩程序我在校园。
注意需要从这个界⾯打开。
从⼩程序⾯板中打开会获取不到。
成功上传时会显⽰{code:0}等内容。
之后需要每隔4天完成⼀次上传。
系统会⾃动完成⼀⽇四检。
已知BUG部分电脑不能抓取https协议的封包,点开学⽣端后没有反应,仍然显⽰Start catch token。
如果不能使⽤建议使⽤其他⼈电脑上传token。
或后续等待更换抓包核⼼的新版本。
项⽬源码等⼀个STAR ;w;含部署教程客户端运⾏环境nodejs12,python2.7客户端IDEVscode,Visual studio 2017,myeclipse enterprise服务端运⾏环境Tomcat8,mysql,python3。
青龙面板拉取常用脚本(JD签到)目前在维护的脚本更新(2021
青龙面板拉取常用脚本(JD签到)目前在维护的脚本更新(2021如何拉库:ql repo <repourl> <path> <blacklist> <dependence> <branch>对应意思“库地址” “拉哪些” “不拉哪些” “依赖文件” “分支”拉取单个脚本ql raw <fileurl>使用方法:一、添加库:进入面板-右上角“定时任务”-分别填入相关信息。
提供个人设置,给大家参考。
其中人物名、任务定时可自定义。
二、运行库任务添加脚本:分别点击每个库的运行按钮,稍等一下,让它飞一会儿。
然后刷新页面,就能看到库的脚本了。
拉库出现的问题及解决方案1.出现这种错误:Cannot find module 'xxxx'依赖不完整,解决方法:docker exec -it qinglong(容器名称) bashcd /ql/scripts/pnpm install 'xxxx'npm install 'xxxx'这两个安装命令都可以用2.出现这种错误:Cannot find module './xxxx'那就很有是拉库命令不完整,请检查或复制完整的拉库命令。
部分需要的依赖:自行安装"npm install -g npm""pip3 install requests""pip3 install pytz""npm install -g download""pnpm install jsdom""apk add --no-cache build-base g++ cairo-dev pango-dev giflib-dev && cd scripts && npm install canvas png-js md5 date-fns axios crypto-js tslib ts-md5 @types/node --build-from-source"截止2021年10月4日目前还在维护的仓库推荐使用下方两个库,一个日常任务一个开卡拉库命令:国内鸡:ql repo //KingRan/JDJB.git "jd_|jx_|jdCookie" "activity|backUp""^jd[^_]|USER|utils|function|sendNotify|ql|JDJR"国外鸡:ql repo https:///KingRan/JDJB.git "jd_|jx_|jdCookie" "activity|backUp" "^jd[^_]|USER|utils|function|sendNotify|ql|JDJR"smiek2221开卡库:国外鸡:ql repo https:///smiek2221/scripts.git "jd_|gua_" """ZooFaker_Necklace.js|JDJRValidator_Pure.js|sign_graphics_valid ate.js"国内鸡:ql repo //smiek2221/scripts.git "jd_|gua_" "" "ZooFaker_Necklace.js|JDJRValidator_Pure.js|sign_graphics_valid ate.js"ccwav大佬的资产通知增强版和CK检测(推荐使用)不包含sendNotify:ql repo https:///ccwav/QLScript2.git "jd_" "sendNotify|NoUsed" "ql"包含sendNotify:ql repo https:///ccwav/QLScript2.git "jd_" "NoUsed" "ql|sendNotify"wskey转换来源于Zy143L大佬(不上传,推荐)完美网络用户:ql repo https:///Zy143L/wskey.git "wskey"国内网络用户:ql repo //Zy143L/wskey.git "wskey"zero205大佬更新拉库命令(更新频繁,内置作者助力)ql repo https:///zero205/JD_tencent_scf.git "jd_|jx_|getJDCookie" "backUp|icon" "^jd[^_]|USER|sendNotify|sign_graphics_validate|JDJR""main"京东保价、汽车兑换等国内鸡ql repo //KingRan/JD-Scripts.git "jd_|jx_|getJDCookie" "activity|backUp" "^jd[^_]|USER|utils|function"国外鸡ql repo https:///KingRan/JD-Scripts.git "jd_|jx_|getJDCookie" "activity|backUp" "^jd[^_]|USER|utils|function"yuannian1112拉取仓库命令:国内鸡ql repo /yuannian1112/jd_scripts.git "jd_|jx_|getJDCookie" "activity|backUp" "^jd[^_]|USER|utils"国外鸡ql repo https:///yuannian1112/jd_scripts.git "jd_|jx_|getJDCookie" "activity|backUp" "^jd[^_]|USER|utils"v4修改默认库为/yuannian1112/jd_scripts.git分支修改为main## star261 粉丝互动ql repo https:///star261/jd.git "scripts|jd" "" "" "main"## chinnkarahoi 无维护,原版ql repo https:///chinnkarahoi/jd_scripts.git "jd_|jx_|getJDCookie" "activity|backUp|Coupon" "^jd[^_]|USER"## JDHelloWorld 基本天天有更新,但是采用TS脚本让初学者不友好ql repo https:///JDHelloWorld/jd_scripts.git "jd_|jx_|getCookie" "activity|backUp|Coupon|enen|update" "^jd[^_]|USER|tools"##柠檬panghu 已经跑路ql repo https:///panghu999/jd_scripts.git "jd_|jx_|getJDCookie" "activity|backUp|jd_delCoupon|format_" "^jd[^_]|USER"## he1pu 有更新ql repo https:///he1pu/JDHelp.git "jd_|jx_|getJDCookie" "activity|backUp|jd_delCoupon" "^jd[^_]|USER"## shufflewzc 集合目前能用的脚本有更新ql repo https:///shufflewzc/faker2.git "jd_|jx_|jddj_|getJDCookie" "activity|backUp" "^jd[^_]|USER|ZooFaker_Necklace|JDJRValidator_Pure|sign_grap hics_validate"##Annyoo2021 lxk最终版及搬运整理集合目前能用的脚本推荐ql repo https:///Annyoo2021/scripts.git "jd_|jx_|long_|getJDCookie" "activity|backUp" "^jd[^_]|USER|ZooFaker_Necklace|JDJRValidator_Pure|JDJRValid ator" "main"smiek2221仓库https:///smiek2221/scriptsTsukasa007仓库https:///Tsukasa007/my_script/tree/master同步上游各个大佬的仓库相当于合集https:///DovFork更新7.7最新仓库:(仅提供地址,拉取请参照下面)树叶shuye72仓库https:///wuzhi04/MyActionsAnnyoo2021仓库基本天天更新,集合了大量可用脚本https:///Annyoo2021/scriptslukesyy仓库https:///lukesyy/jd_yunzero205仓库https:///zero205/JD_tencent_scfcurtinlv仓库ql repo https:///curtinlv/JD-Script.githe1pu互助仓库ql repo https:///he1pu/JDHelp.git "jd_|jx_|getJDCookie" "activity|backUp|Coupon" "^jd[^_]|USER"柠檬(胖虎)代维护lxk0301仓库已经跑路ql repo https:///panghu999/jd_scripts.git "jd_|jx_|getJDCookie" "activity|backUp|Coupon|jd_try|format_" "^jd[^_]|USER"zcy01仓库ql repo https:///ZCY01/daily_scripts.git "jd_"passerby-b 仓库ql repo https:///passerby-b/JDDJ.git "jddj_" "scf_test_event|jddj_fruit_code.js|jddj_getck.js|jd_|jddj_cookie"JDHelloWorld仓库ql repo https:///JDHelloWorld/jd_scripts.git "jd_|jx_|getJDCookie" "activity|backUp|Coupon|enen|update" "^jd[^_]|USER"jiulan仓库ql repo https:///jiulan/platypus.gitAriszy(Zhiyi-N)仓库ql repo https:///Ariszy/Private-Script.git "JD"柠檬(胖虎)仓库ql repo https:///panghu999/panghu.git "jd_"混沌仓库ql repo https:///whyour/hundun.git "quanx" "tokens|caiyun|didi|donate|fold|Env|.py"moposmall仓库ql repo https:///moposmall/Script.git "jx_mc|cfd.js"龙珠仓库ql repo https:///longzhuzhu/nianyu.git "qx" “main”。
部署一个脚本,每日自动登陆橙光领取花篮
部署⼀个脚本,每⽇⾃动登陆橙光领取花篮我做了⼀些修改:1.增加github action配置⽂件,⽀持云上定时执⾏签到操作2.将签到信息推送到微信(原脚本提供代码,根据github action规则修改了⼀些变量的获取⽅式)效果预览微信推送⽰例如下:根据橙光机制,只要在APP中进⾏了签到,就可以完成领花,如下:部署⽅法如下:1.使⽤抓包⼯具对⼿机进⾏抓包在保证被抓包⼿机已经登录橙光账号的前提下,对于抓包的url没有什么限制,只要url中包含66rpg这个字样的都可以完成这个操作,例如url 为之类在成功完成fiddler以及⼿机代理的配置以后,随便点击⼀个url,在⼀个叫做WebForms的选项卡中可以提取到两个有⽤的信息:token、skey这两个字段是脚本完成⾃动登录的关键字段,将它们复制出来保存到⼀个临时⽂本⽂件中,后⾯会⽤上2.申请企业微信,并配置Server酱,⽅便后⾯直接将签到信息推送到微信在完成了企业微信的申请以及应⽤的建⽴以后,就该对推送服务Server酱进⾏配置,配置页⾯也即为上⾯的教程页⾯以上信息的获取都在上⾯这篇教程中有提到。
完成企业微信的申请以后,进⼊SendKey,将SendKey复制出来,和⽅才抓包得到的两个字段放在⼀起,后⾯会⽤上3.fork github 仓库fork即复制⼀个仓库,仓库中包含脚本相关的所有代码当你执⾏了fork操作后,你会得到⼀个⾃⼰的仓库,识别⽅式就是看项⽬名称前是否为你的⽤户名4.在当前仓库中设置三个Secrets信息因为代码已经修改为⽀持github action(相当于腾讯云函数,会⾃动构建并执⾏代码,免费)运⾏,所以只需要将⼀些私密信息填写到环境变量中就可以了在当前已经fork好的仓库中,点击Settings (如果不是你的仓库,就不会有这个选项)点击页⾯上的 New repository secret 分别将刚才获取的三个变量按照名称对应的⽅式创建进去:SERVER_KEY (server酱处获取到的sendKey)TOKEN (⼿机抓包中获取到的token)SKEY (⼿机抓包中获取到的skey)5.点亮fork后的仓库star当前仓库后,就正式触发了Github Action,每⽇早上会⾃动执⾏脚本,并进⾏微信推送。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
一个内网自动签到签退的脚本
场景:员工上下班时间(上午8:30,下午5:30)需要在公司内网登录,登录后弹出公司内网首页,其中有一个是签到签退的链接,点击这个链接后,弹出签到签退页面,最后需要上午点击签到,下午点击签退。
注:公司内网不允许私自安装非经许可的软件。
需求:能不能让电脑在8:20自动签到,下午5:35自动签退呢?如果可以,就不用担心上班路上堵车,离开公司忘记签退啦
分析:不允许安装其他软件,就只能上IE大法啦。
首先用VBA调用IE,模拟登录,登录后捕捉弹出的首页,模拟点击首页上的签到签退的链接,再捕捉弹出的签到签退页面。
最后判断当前时间,如果当前时间小于8:30,模拟点击签到;其它时间,模拟点击签退。
代码:
Sub 签到签退()
url1="登录网页地址"
url2="签到签退链接页面地址"
url3="签到签退页面地址"
Dim IE As InternetExplorer,newHTML As InternetExplorer,FinalHTML As InternetExplorer
Set IE = CreateObject("InternetExplorer.Application")
IE.Visible = True
IE.Navigate url1
Do Until IE.ReadyState = 4
DoEvents
Loop
IE.Document.GetElementsByName("用户名")(0).Value = “张三" '这里的用户名要换成登录网页输入用户名的文本框name,如果用户名文本框有ID,就把GetElementsByName改成GetElementsByID,索引0也要根据登录网页的实际情况改写。
IE.Document.GetElementsByName("密码")(0).Value = “123456” '同上
IE.Document.GetElementsByTagName("button")(0).Click
set newHTML=FinWin(url2)
newHTML.GetElementsByTagName("LINK1")(0).Click 'LINK1换成签到签退链接页面上的真实标签名
set FinalHTML=FinWin(url3)
If timer <= TimeValue("8:30") Then
FinalHTML.GetElementsByTagName("LINK2")(0).Click 'LINK2换成签到签退页面上的签到真实标签名
else
FinalHTML.GetElementsByTagName("LINK3")(0).Click 'LINK3换成签到签退页面上的签退真实标签名
end if
'签到签退后,先关闭警告,再关闭EXCEL表,退出application
Application.DisplayAlerts = False
ActiveWorkbook.Close Savechanges:=False
Application.Quit
End Sub
Function FindWin(ByVal strRef As String) As Object
'找寻已打开的、以strRef为开头网址的网页'找寻已打开的、以strRef为开头网址的网页
Dim objWin As Object
For Each objWin In CreateObject("Shell.Application").Windows
Do While objWin.ReadyState <> 4 Or objWin.Busy
DoEvents
Loop
If LCase(TypeName(objWin.Document)) = "htmldocument" Then If objWin.locationurl Like strRef & "*" Then
Set FindWin = objWin
Exit For
End If
End If
Next
Set objWin = Nothing
End Function
在工作簿中写入:
Private Sub Workbook_Open()
call 模块.签到签退
End Sub
到这里代码就全部写好了。
但还没告诉电脑到时间自动打开脚本。
所以还有最后一步:在window10的任务计划程序中设定启动时间为上午8:20,下午5:40、设定启动的工作簿名称就大功告成。