1. 程式人生 > >python之網頁自動打卡

python之網頁自動打卡

想要用python實現自動打卡你需要依靠以下兩個第三方庫

1、selenium

2、apscheduler

說明一下,我這裡預設你已經安裝好了python

那麼首先你要安裝selenium,在cmd.exe中執行pip install selenium。

注意selenium需要瀏覽器驅動支援,下載你瀏覽器對應版本的驅動,配置好環境變數。

詳細的可以到這裡看一下http://blog.csdn.net/lee1169639/article/details/77365988

接下來是安裝apscheduler,這個庫有很多依賴,所以你通過下載.whl檔案或下載原始碼的方式安裝可能會安裝失敗,

最好直接用pip install apscheduler安裝,這種方式會自動安裝依賴。

接下來就是程式碼部分,其實很簡單,通過selenium抓取頁面上的輸入、button等,然後再用apscheduler做個定時任務即可

我這裡只做一個定時到百度頁面搜尋"python"這麼一個任務

我相信我做到這樣你們應該就可以繼續完成了,

#!/usr/bin/python
# -*- coding: UTF-8 -*-

import time
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
from apscheduler.schedulers.blocking import BlockingScheduler

#使用者名稱、密碼
py="python"

#打卡時間
c_minute="38"
c_hour="8,18"
c_week="mon-fri"

def work():
	try:
		#開啟瀏覽器,進入百度搜索
		browser = webdriver.Chrome()
		browser.get('http://www.baidu.com')
		
		#輸入python
		elements = browser.find_elements_by_id('kw')
		elements.clear()
		time.sleep(2)
		elements.send_keys(py + Keys.ENTER)
		
		#退出瀏覽器
		#browser.quit()
		print(time.strftime('%Y-%m-%d %H:%M:%S', time.localtime())+": Clock Success!")
	except:
		print(time.strftime('%Y-%m-%d %H:%M:%S', time.localtime())+": Clock Filed!")
if __name__ == '__main__':
	#新增任務
	scheduler = BlockingScheduler()
	#設定定時任務時間
	scheduler.add_job(work,'cron', minute=c_minute,hour=c_hour,day_of_week=c_week)
	print(time.strftime('%Y-%m-%d %H:%M:%S', time.localtime())+": Add Task Work!")
	try:
		scheduler.start()
	except (KeyboardInterrupt, SystemExit):
		scheduler.shutdown()
如果我那裡寫的有問題歡迎大家指出來,

如果誰有哪裡看不懂也可以留言問我。

目前我也在用這種方式打卡安靜