火狐瀏覽器插件學習01

老套路-讀前瞎侃

是怎麼一個前生來世呢? 前段時間做一個搶購軟件 ,然後效果很差。 基於 selenium,同一邏輯做了三份(python版本, C# form, window控制檯版本)。 主要問題是搶購的時候selenium響應太慢,。 於是禁用了一些網頁樣式,加載圖片等等, 是變快了,不加載圖片只能密碼登錄,驗證的滑動滑塊頁就 skr。 主要原因還是不熟悉網頁,恰好又遇到一個萬年難遇的雙週,研究下瀏覽器插件.

第一個插件

先來拿百度當小白鼠,直接上效果:
在這裏插入圖片描述

  1. 這是啥?
    百度的圖標被換成?圖了,對,就是這麼簡單的

代碼

  1. manifest.json
  	{
  	//描述可選
  	"description": "Demonstrating webRequests",

  	//這三個必須的
  	"manifest_version": 2,
 		"name": "webRequest-demo",
  	"version": "1.0",
		
		//權限
 		"permissions": [
    		"webRequest",
    		"webRequestBlocking",
    		"https://www.baidu.com/*"
 		],
 		
 		//後臺腳本,加載後會運行,除非禁用
  	"background": {
    		"scripts": ["background.js"]
  	}

  }
  1. background.js
	var pattern = "https://www.baidu.com/*";
    var myUrl = "https://timgsa.baidu.com/timg?image&quality=80&size=b9999_10000&sec=1559390646280&di=b690eb154aec01c74fcfe4f0d689dbe9&imgtype=0&src=http%3A%2F%2F5b0988e595225.cdn.sohucs.com%2Fimages%2F20181203%2F32b39d8647304af6b3eb6d78c740ea4a.gif"
   	
   	//2.
   	//requestDetails 傳進來的是滿足條件的request
   	function redirect(requestDetails) {
   		//輸出調試控制檯,瀏覽器 按F12
 			console.log("Redirecting: " + requestDetails.url);
 			return {
 			//滿足條件的 url 重定向爲myUrl ,也就是替換了
   		redirectUrl: myUrl 
 			};
   	}
   	
   	//1.
   	//這個腳本執行的一句註冊回調
   	//匹配網址 pattern,類型image, 傳進回調redirect方法
   	chrome.webRequest.onBeforeRequest.addListener(
 			redirect,
 			{urls:[pattern], types:["image"]},
 			["blocking"]
   	);

OVER

時候不早了,吃飯睡覺打豆豆。

  • 淘寶搶購源碼需要的留言聯繫我,
  • 這篇有bug的地方歡迎指出修正
  • 有興趣一起學習的小夥伴 @我, 一起交流學習
  • 其他各式各樣的技術問題也可留言
  • 謝謝閱讀

[1] https://developer.mozilla.org/zh-CN/docs/Mozilla/Add-ons/WebExtensions
[2] https://developer.mozilla.org/zh-CN/docs/Mozilla/Add-ons/WebExtensions/Getting_started_with_web-ext

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章