上班4個月,因爲個人原因總是忘簽到、簽退,單位的簽到方式比較LOW,正巧最近學習了Python selenuim(WEB自動化工具),想着那就寫一個自動簽到、簽退把。搭建環境的廢話我就不說了,直接上代碼
#作者David
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
from selenium.webdriver.common.action_chains import ActionChains
from time import sleep
driver = webdriver.Chrome(executable_path='chromedriver.exe')
driver.get("http://154.0.21.16/court")#打開簽到的網址
driver.find_element_by_xpath('//*[@id="usr"]').send_keys('d***i') #定位簽到位置,並輸入用戶名
driver.find_element_by_xpath('//*[@id="psd"]').send_keys('****') #定位密碼欄,並輸入密碼
time.sleep(1)
driver.find_element_by_xpath('//*[@id="tijiao"]').click() # 點擊簽到按鈕
#到這簽到就算成功了,下面簽退
time.sleep(1)
windows = driver.window_handles #簽到成功後會彈出新的網頁,所以頁面要切回來
driver.switch_to.window(windows[0])
time.sleep(3)
#關閉頁面彈窗
driver.find_element_by_xpath('//div/span[@class="layui-layer-setwin"]/a[3]').click()
#定位並點擊簽退按鈕
driver.find_element_by_xpath('//*[@id="btnChkOut"]').click() # 簽退
time.sleep(2)
driver.quit()#瀏覽器關閉
上面的程序實現了簽到和簽退,但是怎麼定點簽到和簽退呢,當時想過程序裏寫一個時間的判斷,後來一想複雜了,直接用Windows計劃任務搞定。
當然了用Python+Chromedriver+selenium,有點大材小用了,確實有更簡單的辦法,主要是這幾天剛學了selenium,活學活用。