怎么通过Python实现定时打卡小程序
怎么通过Python实现定时打卡小程序
这篇文章主要为大家展示了“怎么通过Python实现定时打卡小程序”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“怎么通过Python实现定时打卡小程序”这篇文章吧。
只需在自己的python项目下随便创建一个文件夹(下图中为:daka),然后将下载的chromedriver.exe、ask_for_leave.py、log.txt(此文件夹为空,保存运行程序时的日志信息,直接在文件夹下创建一个名为log.txt的文件夹即可)。
chromedriver.exe
此文件是google浏览器的驱动文件,可在下载地址上选择与自己电脑上的google浏览器相同版本的驱动。
如何查看google浏览器版本
第一步:打开Chrome浏览器
第二步:点击右上角三个点,选择“设置”
第三步:点击“关于Chrome”
第四步:得到Chrome版本号
ask_for_leave.py(只需修改标注修改的两个地方)
fromseleniumimportwebdriverfromtimeimportsleepfromselenium.webdriver.common.keysimportKeysimportdatetimefromselenium.webdriver.support.waitimportWebDriverWaitfromselenium.webdriver.supportimportexpected_conditionsasECfromselenium.webdriver.common.byimportByfromselenium.webdriver.support.selectimportSelectfromselenium.webdriver.chrome.optionsimportOptionsdefqinjia(browser,url):browser.get(url)sleep(1)browser.implicitly_wait(3)WebDriverWait(browser,5).until(EC.presence_of_all_elements_located((By.ID,"user_main")))user_main_div=browser.find_element_by_id("user_main")username_input=user_main_div.find_element_by_id("txtId")#用户名password_input=user_main_div.find_element_by_id("txtMM")#密码login_btn=user_main_div.find_element_by_id("IbtnEnter")#登录按钮#修改1:此处的账号和密码username_input.send_keys("==================账号===================")password_input.send_keys("==================密码===================")login_btn.click()sleep(1)browser.implicitly_wait(3)WebDriverWait(browser,5).until(EC.presence_of_all_elements_located((By.CLASS_NAME,"tabThinM")))table_tag=browser.find_element_by_class_name("tabThinM")href_body=table_tag.find_elements_by_tag_name("tbody")[2]href=href_body.find_elements_by_tag_name("tr")[1].find_element_by_tag_name("a").get_attribute("href")browser.get(href)table_wjTA=browser.find_element_by_id("wjTA")div_gerenjiankang=table_wjTA.find_elements_by_class_name("dvO")[0]#个人健康div_shenqing=table_wjTA.find_elements_by_class_name("dvO")[1]#申请进入#个人健康selects_tag=div_gerenjiankang.find_elements_by_tag_name("select")work_station_select=selects_tag[2]health_station_select=selects_tag[3]live_station_select=selects_tag[4]family_station_select=selects_tag[5]Select(work_station_select).select_by_value("1")Select(health_station_select).select_by_value("1")Select(live_station_select).select_by_value("1")Select(family_station_select).select_by_value("1")#申请进入select_shenqin_time_tags=div_shenqing.find_elements_by_tag_name("select")input_shenqin_reaseons_tags=div_shenqing.find_elements_by_tag_name("input")target_place_input=input_shenqin_reaseons_tags[0]reason_input=input_shenqin_reaseons_tags[1]#修改2:成此处的申请目的地和事由target_place_input.send_keys("=====================申请目的========================")reason_input.send_keys("==========================事由===============================")Select(select_shenqin_time_tags[0]).select_by_value("1")Select(select_shenqin_time_tags[1]).select_by_value("06")Select(select_shenqin_time_tags[2]).select_by_value("3")Select(select_shenqin_time_tags[3]).select_by_value("23")submit_input=browser.find_element_by_tag_name("input")submit_input.click()deflog(message):curent_time=datetime.datetime.now()print(curent_time)f=open("log.txt","a+",encoding="utf-8")f.write(str(curent_time)+":"+message+"\n")f.close()defheadLessChrome():chrome_driver=r"chromedriver.exe"chrome_options=Options()chrome_options.add_argument("--headless")chrome_options.add_argument("--disable-gpu")browser=webdriver.Chrome(options=chrome_options,executable_path=chrome_driver)returnbrowserif__name__=='__main__':url="http://login.cuit.edu.cn/Login/xLogin/Login.asp"browser=headLessChrome()try:qinjia(browser,url)log("成功")except:log("失败")browser.quit()
log.txt
直接创建一个空的log.txt文件。
创建完毕之后,run一下ask_for_leave.py文件,即可运行一次。
以上是“怎么通过Python实现定时打卡小程序”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注恰卡编程网行业资讯频道!
推荐阅读
-
python多行注释符号怎么表示
python多行注释符号怎么表示这篇文章主要介绍“python多行...
-
python支持的操作系统是什么
python支持的操作系统是什么这篇文章主要介绍“python支持...
-
python如何判断列表为空
python如何判断列表为空这篇文章主要介绍“python如何判断...
-
Python如何利用D3Blocks绘制可动态交互的图表
-
2021年度编程语言揭晓
-
PPython:PHP 拥抱 Python 的利器
-
哪种Python IDE最适合你?这里有一份优缺点列表
-
Python分隔字符串函数用法split
aaa,bbb=str.split(‘&&’,2)第一个参数为分隔符第二个参数是要完成的最大拆分数...
-
php安全编程——python测试实例编写
-
神奇的Python模块:pdfkit,将Python抓取的网址内容保存pdf文件