2015年6.17号,在线旅游网站蚂蜂窝出现了抢粽子活动:页面会出现一些粽子,点击粽子,即抢到。很明显,这是一个重复性的劳动,可以代码自动刷新页面,点击页面上的粽子。
本方案中选择了开发一款Chrome浏览器插件进行前台页面刷新,后台点击粽子。
Chrome插件开发。
一、新建目录ChromeAddin-mafengwo。目录下新建名为manifest.json的入口文件。
manifest.json:
{ "name": "picZongzi", "version": "1.0", "manifest_version": 2, "description": "自动抓取蚂蜂窝粽子", "browser_action": { "default_icon": "./images/icon.png", "default_title": "蚂蜂窝自动捡粽子" }, "permissions": [ "tabs", "https://*/*", "http://*/*" ], "content_scripts": [ { "matches": ["*://*.mafengwo.cn/*"], "js": ["jquery-1.11.3.min.js", "mafengwo.js"] } ] }
本文件主要声明了插件名称版本,监控的权限,网站,加载的文件。
二、实现后台处理文件。
我们发现蚂蜂窝的粽子主要是在一个class=“pickZongzi”的div中,只要发现页面中有改div,即可进行点击。
示例代码主要是从预定义列表中随机选择一个页面,加载该页面并检测是否有粽子,有即进行点击。2.5秒钟刷新一次页面。
具体业务逻辑如下:
mafengwo.js:
console.log("蚂蜂窝自动捡粽子,实时监控ing"); $(document).ready(function(){ var sites = [ 'http://www.mafengwo.cn/', 'http://www.mafengwo.cn/activity/zongzi2015.php?fromhead', 'http://www.mafengwo.cn/gonglve/', 'http://www.mafengwo.cn/mdd/', 'http://www.mafengwo.cn/wenda/', 'http://www.mafengwo.cn/sales/' ] function GetRandomNum(Min,Max){ var Range = Max - Min; var Rand = Math.random(); return(Min + Math.round(Rand * Range)); } function killZongzi(){ var number = GetRandomNum(1,5); location.href = sites[number]; var body = document.body.innerHTML; $(".pickZongzi").each(function(){ $(this).click(); }); console.log('杀死粽子!'); } setTimeout(killZongzi, 2500); });
三、开发中的插件调试
浏览器输入:chrome://extensions/
勾选开发者模式,点击加载正在开发的扩展程序,选择插件目录。注意:代码修改一次,就要在此页面重新加载一次。
四、打包插件。
浏览器输入:chrome://extensions/
选择打包扩展程序,即可对插件打包成crx文件。
五、相关代码,移步:https://github.com/hxchen/ChromeAddin-mafengwo
六、直接下载插件:
相关推荐
本插件是基于谷歌浏览器的,方便打开页面过多进行页面切换、多屏幕切换
chrome插件开发-页面对象注入及本地通信 代码包含了应用页面内的js对象注入,js对象与backgroud.js的通信以及backgroud.js与本地程序的通信
Chrome浏览器插件axure-chrome-extension
chrome插件-190612.7z
本程序为作者使用vue3开发chrome插件时实践各个通讯API后,总结的相互之间无干扰的高效数据传输API组合,程序使用vscode可直接打开,npm install安装node_modules文件夹后直接点击NPM工具中的watch或build开始对插件...
Chrome插件开发指南---有开发chrome插件的同学可以学习一下
想探索一下chrome 插件的同学多看看查阅一下,共享方便大家
谷歌浏览器插件开发代码demo ,各种功能的代码示例demo
X-Forwarded-For Header插件,此扩展允许您快速设置X-Forwarded-For HTTP标头
https://blog.csdn.net/ardo_pass/article/details/82900160 搜索引擎快捷导航一个简单的chrome插件进行了改造,用于应用快捷导航,也可以在此基础上开发定制页面
http://www.long-int.com/chrome-helper/ Google Chrome 浏览器下载:Google Chrome 75.0.3770.142 for Mac/Win/Linux 谷歌浏览器离线完整安装版 使用方法 点击下载crx文件,然后直接安装即可~~
modify-http-headers Chrome插件, 测试可用,包含插件安装文档
chrome 插件 JSON-handle
Chrome插件Adblock-Plus
elasticsearch-head是elasticsearch的入门级可视化工具,有非常大的用户群,这次作者把他做完chrome插件,避免了再服务器上安装该插件,非常的方便。 请下载该版本。亲测有效。
Yapi3.3 Chrome 插件 cross-request3.3
chrome插件JSON-handle_0.5.6,并提供了Chrome插件伴侣。因为新版的chrome不支持安装商店以外的插件,通过Chrome插件伴侣可以安装
Web Api调试工具 Chrome插件Restlet-Client-REST-API-Testing
Axure导出的html文件在浏览器中打不开,是因为浏览器缺少“axure-chrome-extension”插件导致。只需要在扩展程序中安装一个插件“axure-chrome-extension”,就可以解决问题了。