[Python]騰訊文檔自動健康打卡 2022-01-17

[Python]騰訊文檔健康打卡 2022/1/17更新

有什么不懂的可以參照這個教程,我就是以這個為基礎(chǔ)做出來的

1. 前置準(zhǔn)備:

  1. 一個Python編輯器音诫,如:pycharm

  2. 安裝好Python并設(shè)置環(huán)境變量
    Python官網(wǎng)

    環(huán)境變量大致設(shè)置流程

    cmd輸入[python]和[pip]驗證一下環(huán)境變量配置是否成功


    測試是否成功
  3. pip 安裝 selenium 以及 openpyxl

    打開cmd輸入以下命令

    (記得不能掛VPN,掛了會出錯)

pip install selenium
pip install openpyxl
  1. 安裝Chrome谷歌瀏覽器

  2. 下載對應(yīng)版本的chromedriver
    阿里鏡像
    打開谷歌瀏覽器的關(guān)于 可以看見內(nèi)核版本

    Chrome關(guān)于界面

放在Python安裝目錄 就環(huán)境變量那個

Python安裝目錄

2. 正式開始:

  1. 打開pycharm新建一個項目

  2. 新建一個Python文件

  3. 接下來就是代碼了疯淫,主要思路就是通過方向鍵實現(xiàn)表格行列移動到目標(biāo)表格:

    import datetime
    import time
    
    from selenium import webdriver
    from selenium.webdriver.common.action_chains import ActionChains
    from selenium.webdriver.common.by import By
    from selenium.webdriver.common.keys import Keys
    
    
    def get_xy():  # 獲取當(dāng)前坐標(biāo)
        a1 = driver.find_element(By.CLASS_NAME, "bar-label").text
        xy_str = ["", ""]
        for i in a1:
            if 'A' <= i <= 'Z':
                xy_str[0] += str(ord(i) - ord('A') + 1)
            else:
                xy_str[1] += i
        xy_int = [int(xy_str[0]), int(xy_str[1])]
        return xy_int
    
    
    def goto(goto_xy):  # 去目標(biāo)單元格
        xy = get_xy()  # 獲得當(dāng)前坐標(biāo)
        while xy != goto_xy:  # 不停的移動直到到達(dá)目標(biāo)位置 可能會死循環(huán)
            print("目標(biāo)位置", goto_xy, "> 當(dāng)前位置", xy, "> ", end='')
            if xy[0] > goto_xy[0]:
                ActionChains(driver).send_keys(Keys.LEFT).perform()
                print('←', end='')
            elif xy[0] < goto_xy[0]:
                ActionChains(driver).send_keys(Keys.RIGHT).perform()
                print('→', end='')
            if xy[1] > goto_xy[1]:
                ActionChains(driver).send_keys(Keys.UP).perform()
                print('↑', end='')
            elif xy[1] < goto_xy[1]:
                ActionChains(driver).send_keys(Keys.DOWN).perform()
                print('↓', end='')
            xy = get_xy()
            print(" > 移動后位置", xy)
    
    
    
    # 自動登錄網(wǎng)頁
    print()
    
    driver = webdriver.Chrome()
    driver.get(
        "填你的鏈接"
    )  # 騰訊文檔的鏈接
    
    # 登入賬號,用快速登入的功能,前提,已經(jīng)電腦qq登入了
    
    time.sleep(3)  # 等待3秒
    driver.find_element(By.ID, "header-login-btn").click()
    driver.implicitly_wait(1)
    driver.find_element(By.ID, 'qq-tabs-title').click()
    driver.implicitly_wait(1)
    
    driver.switch_to.frame("login_frame")
    try:
        driver.find_element(By.ID, "img_out_XXXXXXXXX").click()  # 這里要改成自己的QQ號
        print("快捷登錄成功")
    
    except:  # 發(fā)生錯誤時 切換成 賬號密碼登錄(未經(jīng)過測試,可能無用)
        driver.find_element(By.ID, "switcher_plogin").click()
        time.sleep(1)
        driver.find_element(By.ID, "u").send_keys("")  # qq
        driver.find_element(By.ID, "p").send_keys("")  # 密碼
        driver.find_element(By.ID, "login_button").click()
        print("賬號登錄成功")
    
    driver.switch_to.parent_frame()
    
    time.sleep(3)
    
    date = datetime.datetime.now().day + 2  # 這里[2]根據(jù)實際情況修改
    list_xy = [date, 27]  # 要填寫的單元格,會根據(jù)日期變化 [27]改成自己所在的行
    list_text = ["湖北XX平安", "湖北XX平安", "湖北XX平安", "湖北XX平安"]  # 因為要幫寢室的一起填所以寫的連填4行健康打卡 只填一個的話只寫一個文本就行
    
    
    gotoXY = list_xy[0]  # 目標(biāo)單元格的數(shù)字坐標(biāo)
    goto(gotoXY)
    
    for i in range(len(list_text)):
        text = list_text[i]  # 打卡文本信息
    
        driver.find_element(By.CLASS_NAME, 'formula-input').click()  # 選中編輯框
    
        editor = driver.find_element(By.ID, 'alloy-simple-text-editor')  # 保存編輯框元素
        if text in editor.text:  # 如果編輯框里包含打卡文本
            print("今日以完成打卡,不再重復(fù).")
        else:
            ActionChains(driver).key_down(Keys.CONTROL).key_down('a').perform()  # 全選
            editor.send_keys(text)  # 填充健康打卡信息
            print("完成打卡")
        editor.send_keys(Keys.ENTER)  # 回車
    
    time.sleep(10)  # 等待10秒人工核對是否正確
    driver.quit()  # 退出瀏覽器
    
    


3. 設(shè)置Windows任務(wù)計劃:

參考這個設(shè)置任務(wù)計劃

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市儡蔓,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 206,482評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件蛾号,死亡現(xiàn)場離奇詭異,居然都是意外死亡涯雅,警方通過查閱死者的電腦和手機(jī)鲜结,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,377評論 2 382
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人精刷,你說我怎么就攤上這事拗胜。” “怎么了贬养?”我有些...
    開封第一講書人閱讀 152,762評論 0 342
  • 文/不壞的土叔 我叫張陵挤土,是天一觀的道長。 經(jīng)常有香客問我误算,道長仰美,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 55,273評論 1 279
  • 正文 為了忘掉前任儿礼,我火速辦了婚禮咖杂,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘蚊夫。我一直安慰自己诉字,他們只是感情好,可當(dāng)我...
    茶點故事閱讀 64,289評論 5 373
  • 文/花漫 我一把揭開白布知纷。 她就那樣靜靜地躺著壤圃,像睡著了一般。 火紅的嫁衣襯著肌膚如雪琅轧。 梳的紋絲不亂的頭發(fā)上伍绳,一...
    開封第一講書人閱讀 49,046評論 1 285
  • 那天,我揣著相機(jī)與錄音乍桂,去河邊找鬼冲杀。 笑死,一個胖子當(dāng)著我的面吹牛睹酌,可吹牛的內(nèi)容都是我干的权谁。 我是一名探鬼主播,決...
    沈念sama閱讀 38,351評論 3 400
  • 文/蒼蘭香墨 我猛地睜開眼憋沿,長吁一口氣:“原來是場噩夢啊……” “哼旺芽!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起辐啄,我...
    開封第一講書人閱讀 36,988評論 0 259
  • 序言:老撾萬榮一對情侶失蹤甥绿,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后则披,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 43,476評論 1 300
  • 正文 獨居荒郊野嶺守林人離奇死亡洗出,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 35,948評論 2 324
  • 正文 我和宋清朗相戀三年士复,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 38,064評論 1 333
  • 序言:一個原本活蹦亂跳的男人離奇死亡阱洪,死狀恐怖便贵,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情冗荸,我是刑警寧澤承璃,帶...
    沈念sama閱讀 33,712評論 4 323
  • 正文 年R本政府宣布,位于F島的核電站蚌本,受9級特大地震影響盔粹,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜程癌,卻給世界環(huán)境...
    茶點故事閱讀 39,261評論 3 307
  • 文/蒙蒙 一舷嗡、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧嵌莉,春花似錦进萄、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,264評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至沿癞,卻和暖如春援雇,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背抛寝。 一陣腳步聲響...
    開封第一講書人閱讀 31,486評論 1 262
  • 我被黑心中介騙來泰國打工熊杨, 沒想到剛下飛機(jī)就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人盗舰。 一個月前我還...
    沈念sama閱讀 45,511評論 2 354
  • 正文 我出身青樓晶府,卻偏偏與公主長得像,于是被迫代替她去往敵國和親钻趋。 傳聞我的和親對象是個殘疾皇子川陆,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 42,802評論 2 345

推薦閱讀更多精彩內(nèi)容

  • 一、自動化測試所屬分類(站在代碼可見度角度分類) 1. 黑盒測試(功能測試)2. 灰盒測試(接口測試)3. 白盒測...
    MAVIS_42bf閱讀 892評論 0 0
  • 前言:此代碼蛮位,網(wǎng)上實例+同事提供思路+自己編碼较沪,100%手工完成,希望能認(rèn)識更多的同道中人失仁,一起探討尸曼。 已下是簡單...
    hao0_0閱讀 21,025評論 4 14
  • 完善融寶UI自動化框架 繼續(xù)總結(jié)自動化測試API "29.模擬鍵盤單個按鍵/組合按鍵操作," # import t...
    公子小白123閱讀 1,044評論 0 1
  • 自動化 一萄焦、概念 互聯(lián)網(wǎng)軟件的開發(fā)和發(fā)布控轿,已經(jīng)形成了一套標(biāo)準(zhǔn)流程冤竹,最重要的組成部分就是持續(xù)集成(Continuou...
    G_eebd閱讀 329評論 0 0
  • [TOC] 簡介 Selenium 是一個用于Web應(yīng)用程序測試的工具。Selenium測試直接運(yùn)行在瀏覽器中茬射,就...
    Whyn閱讀 1,043評論 0 2