Pythonは自動パンチを実現します
学生の頃、クラス委員会に思い出されて、手動で時間を計るのを忘れることがよくあります...
そのため、肝臓には、毎日コンピューターの電源を入れている限り自動的に実行できるクロックインプログラムがあります。
もう一度カードをパンチするように私に促さないでください...
アイデア:セレンを介して手動クロッキングをシミュレートする
準備
ライブラリ①selenium
②chromeドライバ③configureの
環境変数を
コード
ライブラリをロード
from selenium import webdriver
import time
ブラウザの設定を入力して、ユーザーエージェントをモバイルモードに変更します
options = webdriver.ChromeOptions()
options.add_argument('user-agent=Mozilla/5.0 (Linux; Android 9; V1838A Build/PKQ1.190302.001; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/76.0.3809.89 Mobile Safari/537.36 T7/11.20 SP-engine/2.16.0 baiduboxapp/11.20.0.14 (Baidu; P1 9)')
ブラウザを開いてチェックインWebサイトにアクセスします
browser = webdriver.Chrome(options=options)
url = "https://xsc-health.wh.sdu.edu.cn/mobile/index.html?a=b#/common/office/fightncp/home"
browser.get(url)
パスワードを準備する
name = "202000820***"
word = 'whsdu@202000820***'
time.sleep(2)
ユーザー名のIDを取得し、入力します
username = browser.find_element_by_name('username')
username.send_keys(name)
パスワードのIDを取得し、入力します
username = browser.find_element_by_name('password')
username.send_keys(word)
time.sleep(3)
クリックしてログイン
browser.find_element_by_class_name('weui-btn-area').click()
time.sleep(3)
時計を入力してください
browser.find_element_by_xpath("//*[contains(text(),'打卡')]").click()
time.sleep(3)
チェックインを送信する
browser.find_element_by_xpath("//*[contains(text(),'提交')]").click()
time.sleep(5)
ブラウザを閉じる
browser.quit()
バグ
10.16コンピューターがチェックインWebサイトを開くことができない
という問題を解決します。10.17GPS信号が良好でない場合、要素を見つけることができないと要素がブロックされ、送信された要素が見つからないという問題を
解決します。10.18起動時の自動チェックインを解決します。