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插件”中的定时刷新功能,这是许多用户为了获取最新信息或者自动化某些网页操作而常用的一个特性。 首先,让我们了解一下谷歌浏览器Chrome。Chrome是由Google开发的一款...
3. **内容脚本(content script)**:这部分脚本可以注入到网页中,直接操作DOM元素,例如在12306页面上自动填充购票信息。 4. **用户界面(UI)**:可能包括弹出窗口、选项页等,供用户配置插件设置。 5. **图标...
4. **独立运行**:网页自动刷新工具通常可以在后台独立运行,不影响用户进行其他电脑操作,用户可以同时处理多项任务。 5. **跨平台支持**:虽然此处没有明确提及,但考虑到通用性,这样的工具可能有Windows、MacOS...
首先,`manifest.json`是Chrome插件的核心配置文件,它定义了插件的基本信息,如名称、版本、权限等,并指定了插件的主要脚本和页面。通过这个文件,插件能够获取到Elasticsearch集群的信息并执行相应的操作。 `...
Chrome Tabs Reloader插件简化了这一过程,它能够帮助开发者快速刷新多个并行的开发或测试环境,确保他们始终看到的是最新的页面状态。此外,对于那些依赖实时数据或者需要持续关注动态内容的用户,如监控各种实时...
Elasticsearch-Head 是一款基于 Google Chrome 浏览器的插件,专为 Elasticsearch (ES) 设计,它提供了一个直观的用户界面,允许用户直接在浏览器中管理和操作 ES 集群。这款插件对于 ES 的日常管理和调试工作非常...
【标题】"Auto Refresh.zip" 是一个与Chrome浏览器相关的压缩包,其中包含了一个网页自动刷新插件的相关文件。这个插件旨在帮助用户自动化地刷新网页,可能是为了监控动态信息、实时数据更新或者是测试网页的稳定性...
在开发Chrome扩展时,我们经常需要频繁地更新代码并测试效果,传统的手动刷新浏览器插件的方式效率低下。为了解决这个问题,"实现热加载的Chrome扩展"是一个实用的技术方案,它利用JavaScript的特性来实现无需每次...
为了高效开发和调试,开发者可以使用如Chrome DevTools、Firefox Developer Tools等浏览器自带的开发者工具,进行元素检查、网络请求分析、性能监控等。 总结,jQuery后台框架模板结合了前端的动态性和后台的强大...
一个标准的Chrome插件项目通常包含manifest.json文件(描述插件信息和权限)、background.js(后台脚本处理网络请求和事件监听)以及可能的content scripts(内容脚本,直接在网页上下文中运行,处理DOM元素)等文件...
油呗自动插件通过智能检测并移除这些弹窗元素,确保了用户界面的清爽,提高了浏览效率,降低了不必要的干扰。 其次,插件还实现了业务系统的自动刷新功能,这对于保持用户登录状态至关重要。在某些情况下,长时间未...
【Auto Refresh-crx插件】是一款专为网页自动刷新设计的Chrome浏览器扩展程序,主要针对需要定时刷新页面以获取最新信息或监控特定内容的用户。该插件支持任意URL的页面每小时自动刷新一次,特别适合那些需要持续...
"autoreloader-chrome"是一个针对谷歌浏览器(Chrome)的自动刷新插件,主要用于JavaScript开发。这个工具使得开发者能够在修改代码后无需手动刷新浏览器就能看到更新的效果,极大地提高了开发效率和迭代速度。以下...
"LookOut-crx插件"是一款专为Chrome浏览器设计的扩展程序,主要功能是帮助用户在浏览网页时关注特定的单词或句子。这款插件的独特之处在于,即使用户刷新页面或者重启Chrome浏览器,它仍然能记住用户的设定,在所有...
NoMoreSoldoutCoupang-crx插件在用户安装后,会在后台运行,实时监控coupang.com的页面内容。当用户浏览商品列表时,插件会通过解析网页的HTML和JavaScript代码,找出已售罄商品的信息,并将其从显示列表中移除。 ...
Refresh Tabs on Crash的出现就是为了应对这种情况,它通过后台监控每个标签页的状态,一旦检测到某个标签页崩溃,会立即自动执行刷新操作,从而帮助用户快速恢复正常浏览。 该插件的核心功能主要体现在以下几个...
这种技术广泛应用于网页的动态更新,例如实时数据刷新、表单提交以及后台数据的获取等。通过Agite-crx插件,开发者能够更好地理解网页与服务器之间的交互,这对于优化网页性能、排查问题或者进行数据抓取非常有帮助...
通过安装此插件,用户可以在网页的顶部看到自己选择关注的游戏,无需多次点击或滚动页面,极大地提高了浏览效率。这尤其对那些同时关注多个游戏的玩家来说非常实用,他们可以快速跳转到所需游戏的相关信息。 该插件...
这得益于Chrome浏览器的后台同步机制,插件可以在后台运行并监听新内容。 3. **智能筛选**:Sqwitr-crx可能具备智能算法,能够分析推文的内容、互动情况、来源等多方面因素,从而识别出具有高价值或用户个人兴趣...