日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程语言 > python >内容正文

python

python 打卡程序_如何用python实现腾讯文档自动打卡并定时执行

發(fā)布時(shí)間:2025/3/15 python 40 豆豆
生活随笔 收集整理的這篇文章主要介紹了 python 打卡程序_如何用python实现腾讯文档自动打卡并定时执行 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

最近學(xué)了些Web,了解了一些selenum包內(nèi)函數(shù)使用,就寫(xiě)了下自動(dòng)健康打卡,并用windows任務(wù)計(jì)劃程序定時(shí)執(zhí)行,健康打卡這個(gè)針對(duì)特定網(wǎng)站,所以對(duì)于通用化使用倒沒(méi)有太大用處,但關(guān)于騰訊文檔如何填寫(xiě),因?yàn)槎ㄎ徊涣吮砀窬蜎](méi)得想法。。然后和同伴討論了下,一開(kāi)始采用的是先填寫(xiě),再查找并替換,即先填寫(xiě)一些無(wú)關(guān)信息,比如名字簡(jiǎn)寫(xiě),然后再通過(guò)點(diǎn)擊編輯欄中的查找功能,在上面輸入欄進(jìn)行字符增減操作。

# 1.0版本,通過(guò)先填寫(xiě)內(nèi)容,再替換實(shí)現(xiàn)

driver.find_element_by_xpath('//*[@id="editmenu"]/div/div/div[1]').click()

ActionChains(driver).key_down(Keys.CONTROL).key_down('f').perform() # 打開(kāi)查找功能

time.sleep(3)

try:

driver.find_element_by_id('search-panel-input').send_keys("xxx") # 這里很魔性,一直沒(méi)找出原因,同伴告訴我才知道如何修改

driver.find_element_by_id('search-panel-input').send_keys("xxx")# xxx是自己隨便寫(xiě)的標(biāo)識(shí)符

time.sleep(3)

driver.find_element_by_id('alloy-simple-text-editor').click()

for i in range(1,4): # 刪去標(biāo)識(shí)符

driver.find_element_by_id('alloy-simple-text-editor').send_keys(Keys.BACK_SPACE)

elmet = driver.find_element_by_id('alloy-simple-text-editor')

elmet.send_keys('ok') # 輸入ok

time.sleep(1)

elmet.send_keys(Keys.ENTER)

print("已完成打卡!!!")

except:

print("出現(xiàn)某些異常!")

上面這個(gè)可以針對(duì)大多數(shù)填寫(xiě)情況,但這種過(guò)于繁瑣。

一開(kāi)始也注意到了域名的特殊性,即如下所示,打開(kāi)騰訊文檔,我們會(huì)發(fā)現(xiàn),每次點(diǎn)擊一個(gè)表格,域名后面的&c=xx 會(huì)更改,但不知道如何利用。

后面經(jīng)同伴提醒后面的A0A0代表頁(yè)數(shù)就恍然大悟,其實(shí)原先的思路繞了一個(gè)大圈去定位表格,沒(méi)想到表格信息就已經(jīng)存在訪問(wèn)的域名中,然后就想直接通過(guò)datetime獲取當(dāng)前day,然后根據(jù)騰訊文檔表格中的日期獲取列號(hào),這里注意下,程序中對(duì)應(yīng)的是如下圖所示的表格,因?yàn)檫@里A對(duì)應(yīng)的是空,所以得+1。

代碼如下所示

# -*- coding: utf-8 -*-

"""

Created on Sun Apr 5 11:14:09 2020

@author: 蟲(chóng)二

"""

from selenium import webdriver

from selenium.webdriver.support.ui import Select

from selenium.webdriver.common.keys import Keys

import time

import datetime

# 填寫(xiě)騰訊文檔

def visit_txt():

data = datetime.date.today()# 獲取當(dāng)前時(shí)間

now = data.day

# 獲取行列式得根據(jù)實(shí)際需求修改

start = 2 # 根據(jù)第一列時(shí)間,需要修改

c = chr(now-start+1+65) # 獲取列號(hào), 65即是'A'

h = 8# 行號(hào),即你要填寫(xiě)對(duì)應(yīng)的行號(hào)

print(c)

url = "http:... c=" + c + str(h) +"A0A0" # 需要修改

driver = webdriver.Chrome("chromedriver.exe")

driver.get(url)

driver.implicitly_wait(10)

elmet = driver.find_element_by_class_name("unlogin-container")

elmet.click()

driver.implicitly_wait(10)

# 得提前登錄qq,因?yàn)檫@里用了快捷登錄接口

driver.switch_to.frame("login_frame")

elmet = driver.find_element_by_id("img_out_qq號(hào)")# 需要修改

elmet.click()

# 轉(zhuǎn)換frame

driver.switch_to.parent_frame()

time.sleep(5)

try:

elmet = driver.find_element_by_id('alloy-simple-text-editor')

elmet.click()

elmet.send_keys('xxx') # 輸入xxx,即你想輸入的字符

time.sleep(1)

elmet.send_keys(Keys.ENTER)

time.sleep(3)

print("今天已成功打卡!!!")

except:

print("出現(xiàn)某些異常,請(qǐng)檢查!!!")

if __name__ == "__main__" :

visit_txt()

任務(wù)計(jì)劃程序

Window有個(gè)任務(wù)計(jì)劃程序功能,還是很有用的,可以定時(shí)執(zhí)行程序。

打開(kāi)后點(diǎn)擊創(chuàng)建,然后繼續(xù)下一步設(shè)置名稱(chēng),觸發(fā)器…

需要注意的是下面這部分,第一個(gè)程序和腳本就找到你配置好環(huán)境中的python.exe,比如D:\Anaconda3\python.exe,參數(shù)就填寫(xiě)你要運(yùn)行的程序,起始地址可以填寫(xiě)python.exe父目錄,比如D:\Anaconda3

題外話

這次有同伴的幫助,爬出了不少坑,這過(guò)程中也學(xué)到了挺多東西,也發(fā)現(xiàn)了解的確實(shí)很少,還得繼續(xù)去了解相關(guān)內(nèi)容.

另:運(yùn)行程序需配置python環(huán)境,安裝selenium等相關(guān)包,并安裝chrome.exe,這個(gè)配置過(guò)程可能會(huì)有點(diǎn)麻煩,但還是挺有意思的,建議用anaconda3環(huán)境,比較容易上手和管理庫(kù),安裝教程其他博客都寫(xiě)的很詳細(xì)。

關(guān)于anaconda3遇到了一個(gè)坑,就是Anaconda3環(huán)境中有兩個(gè)python.exe腳本,需要注意的是它們的目錄不同,例如在D:\Anaconda3目錄下的是用conda管理庫(kù)的,就是平時(shí)用conda install xxx,下載的所在的環(huán)境。

但在D:\Anaconda3\envs\temp.py\python.exe,則是基于pip管理庫(kù)的,這個(gè)是基本的python,所以很多庫(kù)都沒(méi)有。

所以在配置Pycharm和VScode時(shí)需要注意這個(gè)腳本路徑。

總結(jié)

以上是生活随笔為你收集整理的python 打卡程序_如何用python实现腾讯文档自动打卡并定时执行的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。