说明:GreaseMonkey的作用是让我们浏览器运行我们自己写的脚本,而且是在后台一直不断的运行,听着就让人兴奋。

[ps:他们当然可以创建名单对哪些网站作用或者排除哪些站点];

开始了:GreaseMonkey 和tampermonkey的语法手册:

http://www.firefox.net.cn/dig/toc/

推荐看其中的教学实例:

http://www.firefox.net.cn/dig/appendix/examples.html

这两个浏览器下的扩展对应的语法相同,如果让你想象一下很多抽奖,点击获取积分,签到等等触发动作交给脚本自动化完成,我想说。这是程序猿必须的手段啊。

这是一段模拟点击某链接的自动化执行脚本

// ==UserScript==
// @name       demo
// @namespace  http://www.demo.com/
// @version    1.02
// @description  example script to adit like nums on website demo
// @match      http://*/*
// @copyright  2013+,logonmy@126.com
// ==/UserScript==
(function(){
    var interval = 1;//1分钟间隔访问
    //---------------
    var latest = GM_getValue('latest');
    if(!latest)
    {
        setNow();
    }
 
    main();
    //---------------
 
    function main()
    {
        var latest = GM_getValue('latest');
        var now = new Date().getTime();
        if((now-latest) > interval * 60 * 1000)
        {
            var i = 1;
            while(i < 100)
            {
                i++;
                touchUrl(random(1,10000));
            }
            setTimeout(main,interval * 60 * 1000);
        }
        else
        {
            setTimeout(main,now-latest);
        }
    }
 
 
    function touchUrl(param)
    {
        setNow();
        var ajaxOption = {};
        ajaxOption.url = 'http://www.demo.com/index.php?app=goods&act=plusLike&goods_id='+param;
        ajaxOption.method = 'GET';
        ajaxOption.onload = function(response){
            // console.log(response);
        }
        GM_xmlhttpRequest(ajaxOption);
    }
 
    //global value of time //微秒
    function setNow()
    {
        var latest = new Date().getTime();
        GM_setValue('latest',latest);
        return latest;
    }
 
    //round(min,max) //生成[min,max]范围内随机数
    function random(min,max)
    {
        return Math.floor(min+Math.random()*(max-min));
    }
 
}());

火狐下的GreaseMonkey和Chrome下的tampermonkey使用手记的更多相关文章

  1. Chrome出了个小bug:论如何在Chrome下劫持原生只读对象

    Chrome出了个小bug:论如何在Chrome下劫持原生只读对象 概述 众所周知,虽然JavaScript是个很灵活的语言,浏览器里很多原生的方法都可以随意覆盖或者重写,比如alert.但是为了保证 ...

  2. 如何在Chrome下Debug Mocha的测试

    简介 经过前两篇文章的介绍,相信读者对Mocha应该有一定的认知了,本文重点讲述如何在Chrome下Debug Mocha Test, 方便你在测试fail的时候troubleshooting. 关键 ...

  3. 在chrome下的文本框sendkeys,提示element can't focus--解决方法

    在chrome下的文本框sendkeys,提示element can't focus--解决方法(成都-半步流雲,群友解决) 成都-半步流雲1.升级你的chromedriver,2.降chrome版本 ...

  4. chrome下input[type=text]的placeholder不垂直居中的问题解决

    http://blog.csdn.net/do_it__/article/details/6789699 <input type="text" placeholder=&qu ...

  5. chrome下float元素下input选中内容bug

    今天在写一个小demo的时候,发现chrome下一个很奇怪的bug. 我的代码如下: <!DOCTYPE html> <html lang="en"> &l ...

  6. IE下设置unselectable与onselectstart属性的bug,Firefox与Chrome下的解决方案

    在IE下给DIV设置unselectable与onselectstart属性,可以让div的内容不能选中,这个功能在很多情况下,非常有用,但是他的bug太明显, 直接使用一个DIV是可以的,比如: & ...

  7. chrome下老是弹出网页显示 true

    事实上这个问题是chrome下安装了一些插件的原因,一般来说是安装迅雷插件会出现这个问题,删除迅雷插件就好了.

  8. Chrome下的语音控制框架MyVoix.js使用篇(四)

    在上一篇博文中,我为大家介绍了myvoix.js中的smart learning模块,以及何如使用该功能.(myvoix.js的源码地址会在每一篇文章末尾放出) 文本将拓展 Chrome下的语音控制框 ...

  9. 当fixed元素相互嵌套时chrome下父元素会影响子元素的层叠关系

    问题:fixed元素被另一个fixed元素包含的时候在chrome下fixed子元素的定位会受到父元素的影响. demo(http://jsbin.com/qumah/1): <!DOCTYPE ...

随机推荐

  1. PAT 天梯赛 L1-002 【递归】

    题目链接 https://www.patest.cn/contests/gplt/L1-002 题意 给出一个数字 和一个字符 画出 可用数字下的最大沙漏,并且输出剩余没用掉的符号数 思路 可以先打一 ...

  2. HDU 4370 - 0 or 1 (SPFA+思维)

    题意:给一个N*N的矩阵C,和一个N*N的只由0和1组成的矩阵X. X满足以下条件: 1.X 12+X 13+...X 1n=1  2.X 1n+X 2n+...X n-1n=1  3.任意 i (1 ...

  3. 自动化测试调查问卷送《QTP自动化测试最佳实践》

    自动化测试调查问卷送<QTP自动化测试最佳实践> http://automationqa.com/forum.php?mod=viewthread&tid=2308&fro ...

  4. J2EE--Hibernate基础笔记

    因为写的是基础内容,所以在这里,(映射集合.映射组件.复合主键和联合主键,jpa annotation,关联映射,hql等等实用内容)都不会提到- 这里写的就是试用李刚<J2EE实战>那本 ...

  5. Python多类继承中,子类默认继承哪个父类的构造函数__init__

    [1]python中如果子类有自己的构造函数,不会自动调用父类的构造函数,如果需要用到父类的构造函数,则需要在子类的构造函数中显式的调用. [2]如果子类没有自己的构造函数,则会直接从父类继承构造函数 ...

  6. react native 之异步请求

    第一章 异步请求  fetch的运用 在react native  中异步请求一般用fetch这个方法, fetch的格式如下: const params ={ "charset" ...

  7. 在Linux系统中使用蓝牙功能的基本方法

    首先确定硬件上有支持蓝牙的设备,然后运行如下命令,就可以开到我们的蓝牙设备了: lsusb 运行hciconfig可以看到:从上图可以看出,我们的蓝牙设备是hci0运行hcitool dev可以看到我 ...

  8. CentOS 7 源码安装Ansible 2.x

    1.安装Python 3.x环境 [root@ansible ~]# yum install -y python36 python36-pip git [root@ansible ~]# ln -s ...

  9. cookie 与 session 的区别详解

    [转]cookie 与session 的区别详解 二者的定义: 当你在浏览网站的时候,WEB 服务器会先送一小小资料放在你的计算机上,Cookie 会帮你在网站上所打的文字或是一些选择,都纪录下来.当 ...

  10. idea中git合并切换分支等操作

    https://blog.csdn.net/autfish/article/details/52513465