自制Chrome拓展

淘宝试用自动点击:

谷歌其实就是一些html+css+js+静态资源.但是里面有一个特别的配置文件manifest.json.该文件和Android的那个androidmanifest.xml类似,记录了该APP的基础信息.

比如我这个,就是在特定页面用content script加载,所以配置页是这样

{
	"name": "淘宝试用点击",
	"description": "淘宝试用点击,仅在特定页面有效",
	"version": "1.0",
  // "background": { "scripts": ["Main.js"] },
  "browser_action": {
  	"name": "啦啦啦啦啦啦啦啦啦啦"
  	},
  	"icons": {
  	 "16": "icon16.png",
    "48": "icon48.png",
    "128": "icon128.png"  },
  	"content_scripts": [
  	{
  		"matches": ["https://*.taobao.com/tryshop.htm*","https://*.tmall.com/tryshop.htm*"],
      // "css": ["mystyles.css"],
      "run_at":"document_idle",
      "js": ["Main.js"]
  }
  ],
  "manifest_version": 2
}

  

主体部分呢,本来我是想在onload完了之后再自动点击,但是考虑到页面加载的资源比较多,所以就以setTimeout为主,点击完之后再点击确认,确认之后自动关闭页面.

PS:我设置一开始1s后点击可能比较快.所以会有失效的情况.所以这个设计怎么说呢,只是过把瘾罢了吧.

function Main(){
	console.log("启动啦");
	 	setTimeout(function(){
	 		var button1=document.getElementsByClassName("J_TryApply");
		var isNotFound= button1!=undefined&&button1.length>0;
		console.log(isNotFound);
		if (isNotFound) {
			button1[0].click();
			setTimeout(function(){
				document.getElementsByClassName(‘apply-try-address-submit‘)[0].click();
				setTimeout(function(){
					// console.log("close");
				   window.close();
				},300);
			},500);
		}
		else{
			alert("已经试用过啦");
			 window.close();
		}
	 	},1000);		

}
Main();

  

后记:

chrome应用其实脑洞大的话,还可以做很多很多事情.

项目地址:

http://git.oschina.net/Zeusro/TaobaoTrial

使用方法:

git clone https://git.oschina.net/Zeusro/TaobaoTrial.git

在设置-拓展程序里面,选择加载已解压的拓展程序,选择我这些资源所在的目录.就可以了.刷新页面即可看到效果

参考链接:

http://www.zhihu.com/question/20179805

http://open.chrome.360.cn/extension_dev/overview.html

时间: 2024-11-07 22:08:56

自制Chrome拓展的相关文章

chrome拓展开发实战

chrome拓展开发实战:页面脚本的拦截注入 时间 2015-07-24 11:15:00  博客园精华区 原文  http://www.cnblogs.com/horve/p/4672890.html 主题 Chrome 原文请访问个人博客: chrome拓展开发实战:页面脚本的拦截注入 目前公司产品的无线站点已经实现了业务平台组件化,所有业务组件的转场都是通过路由来完成,而各个模块是通过 requirejs 进行统一管理,在灰度测试时会通过grunt进行打包操作,虽然工程化的开发流程已经大大

Chrome扩展,应用开发学习笔记之2---恶搞百度一下

Chrome扩展,应用开发学习笔记之2 恶搞百度一下 前面我们介绍了一个最简单的chrome扩展时钟,如今我来介绍一下一个恶搞百度一下的chrome扩展程序. 前面说过,manifest.json文件是用来描写叙述这个扩展的,是整个扩展的入口,同一时候也是告诉chrome怎么处理这个扩展. 恶搞百度一下: 以下我们来编写一个恶搞百度一下的扩展程序,希望从这个实例中,对于chrome拓展有一个更好的认识.先看看这个拓展的效果,例如以下图: 从图中我们能够猜到,其功能就是让你无法点击百度一下那个bu

译文 对无障碍网页应用(ARIA)的选择

//本文编辑格式为Markdown,译文同时发布在众成翻译 对无障碍网页应用(ARIA)的选择 让网站对每个人都能访问是一件相当艰难的工作,尤其是在我们使用自定义标记解决方案(custom markup solutions)的那些日子.我很高兴#a11y(可访问性的简称)的话题最近获得了越来越多的关注,因为#a11y没有什么好的,但是正如James Williamson今天发布的twitter: 我们对提高可访问性最大的误解是认为那是在帮别人,但是你错了,这是你的职责.(The biggest

Java消息队列-Spring整合ActiveMq

1.概述 首先和大家一起回顾一下Java 消息服务,在我之前的博客<Java消息队列-JMS概述>中,我为大家分析了: 消息服务:一个中间件,用于解决两个活多个程序之间的耦合,底层由Java 实现. 优势:异步.可靠 消息模型:点对点,发布/订阅 JMS中的对象  然后在另一篇博客<Java消息队列-ActiveMq实战>中,和大家一起从0到1的开启了一个ActiveMq 的项目,在项目开发的过程中,我们对ActiveMq有了一定的了解: 多种语言和协议编写客户端.语言: Java

chromium中增加默认主题的一个方法

首先,chromium除了默认主题外,其它都是以chrome拓展的方式安装的,所以对于一个新的主题,需要定一个主题id,这个主题id可以先自己定一个,只要长度一致就可以了,但是主题id会有字母范围的限制,所以可以找一个现成的id,然后直接交换几个字母的位置就可以,后继这个id并不会真正用到. src\chrome\browser\themes\theme_service.cc const char* ThemeService::kDefaultThemeID = ""; const c

swagger 基础入门

阅读目录 一.Node.js 安装 二.node中http-server安装 三.下载swagger-editor 四.启动 swagger-editor 五.使用浏览器访问http://localhost 一.编写API 文档: 二.生成服务端代码: 三.修改&运行服务端: 四.创建&运行客户端: 目录 Swagger简介 4 安装 4 一. Node.js 安装 4 二. node中http-server安装 4 三. 下载swagger-editor 4 四. 启动 swagger-

ApiPost的环境变量的定义和使用「ApiPost环境变量」

新版的ApiPost(Chrome拓展V2.0.8+/客户端V2.2.1+)已经支持环境变量的定义和使用. 本文主要介绍ApiPost环境变量的第一课:如何定义环境变量,并如何使用它. ApiPost简介: ApiPost是一个支持团队协作,并可直接生成文档的API调试.管理工具.它支持模拟POST.GET.PUT等常见请求,是后台接口开发者或前端.接口测试人员不可多得的工具 . 官网:https://www.apipost.cn/ 什么是环境变量? 对于一些常见的参数,我们可以将其定义成环境变

接口调试工具ApiPost的发送超时时间设置方法

有部分使用ApiPost的同学反应:发送接口调试时,响应超时时间设置的太短导致接口访问失败,怎么设置呢? 就连百度也有很多人在搜: 今天就来说一说. ApiPost简介: ApiPost是一个支持团队协作,并可直接生成文档的API调试.管理工具.它支持模拟POST.GET.PUT等常见请求,是后台接口开发者或前端.接口测试人员不可多得的工具 . 官网:https://www.apipost.cn/ ApiPost的发送超时时间设置方法 对于老版本的ApiPost,这个超时时间的确是无法设置的.新

fireFox模拟 post请求、上传插件,火狐浏览器中文postman插件

ApiPost是一个支持团队协作,支持模拟POST.GET.PUT等常见请求,并可直接生成文档的API调试.管理工具. 它拥有以下功能特性: 1.文档管理ApiPost不仅可以快速生成接口文档,还支持导出离线html.Markdown.Word.Pdf格式的文档.方便您部署接口文档到您的本地甚至局域网服务器. 2.模拟登陆支持Cookie管理,发送接口时,可以携带自定义的Cookie进行模拟登陆,从而方便测试一些需要登录才能访问的API. 3.跨平台支持ApiPost拥有FireFox拓展插件.