Python + selenium + windows定時任務 實作定時每日定時長截圖
- 首先下載一個chromdriver插件(插件下載地址:http://chromedriver.storage.googleapis.com/index.html ),之后在小黑窗(win+r)輸入cmd,回車,打開黑視窗之后pip install selenium (-i https://pypi.tuna.tsinghua.edu.cn/simple some-package)如果卡就加上清華源
- 普通截圖直接使用save_screenshot即可,這里為了實作長截圖,需要使用無頭瀏覽(headless)實作,
-
代碼如下
# -*- coding: utf-8 -*-
from selenium import webdriver
from selenium.webdriver.chrome.options import Options
import os
import time
def get_image(url, filename):
#chromedriver的路徑
chromedriver = r"D:\python\chromedriver.exe"
os.environ["webdriver.chrome.driver"] = chromedriver
#設定chrome測驗開啟的模式為headless(無頭瀏覽)
chrome_options = Options()
chrome_options.add_argument('headless')
driver = webdriver.Chrome(chromedriver,chrome_options=chrome_options)
driver.maximize_window() #視窗最大化
#控制瀏覽器寫入并轉到鏈接
driver.get(url)
time.sleep(1)
#根據scroll獲取頁面的寬高,可以根據瀏覽模式,需要選擇下面三種方案
width = driver.execute_script("return document.documentElement.scrollWidth")
height = driver.execute_script("return document.documentElement.scrollHeight")
#根據offset獲取可見區域大小
# width = driver.execute_script("return document.body.offsetWidth")
# height = driver.execute_script("return document.body.offsetHeight")
# #獲取網頁可見區域大小
# width = driver.execute_script("return document.body.clientWidth")
# height = driver.execute_script("return document.body.clientHeight")
print(width,height)
# 這里使用xpath獲取頁面元素,也可以使用其他方法,這里設定點擊事件是為了截取某些頁面時本身自動點擊了某個元素,會導致截圖變暗,如果沒有這類問題不用加點擊事件,具體描述看下圖
xpath1 = driver.find_element_by_xpath("//div[@class='sale-btn']/i[@class='iconfont iconarrow-up']")
xpath1.click()
#將瀏覽器的寬高設定成上面獲取的寬高
driver.set_window_size(width, height)
time.sleep(1)
#截圖并關掉瀏覽器
driver.save_screenshot(filename)
driver.close()
#上面是封裝的函式,下面是需要輸入的引數
#要保存圖片的路徑(選擇一個檔案夾)
os.chdir(r'D:/,,,/,,,,/')
#要截取的網頁
url = 'https://www.xxx.cn/'
#以時間格式命名的圖片名,不加replace會無法保存,因為%X時間格式:冒號無法命名
pic_name = time.strftime("%Y-%m-%d-%X").replace(':',".") + '_xxx網站截圖' + '.png'
# 呼叫函式
get_image(url, filename)


區別就是不加click是下面這種,點擊取消這個折扣顯示,就是上面正常我們想要的結果,
此時代碼部分就結束了,接下來要設定定時任務
windows中自帶定時任務管理程式
-
找到此電腦,右擊打開屬性
-
會出現這個界面

-
點擊任務計劃程式,在右側點擊創建基本任務
-

-
名稱和描述自己寫,下一步看自己需求選擇任務開始時間,下一步設定執行時間,下一步默認啟動程式,下一步

- “程式和腳本”瀏覽的是Python解釋器的名稱,一般就是python.exe
- “起始于“文本框中填的是Python解釋器的目錄,例如“D:\Python37\python.exe”
- “添加引數“文本框中填的是你要運行的Python程式的完整路徑例如“D:\爬蟲\長截圖.py”.這里一定要是.py,不要.ipynb格式的檔案,py型別的檔案里面就是上面的代碼,最好把注釋去掉只保留代碼,
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/237255.html
標籤:python
