Tampermonkey油猴脚本安装及入门

article/2025/11/5 7:22:58

一、简介

油猴脚本是是一款免费的浏览器扩展和最为流行的用户脚本管理器,它适用于 Chrome, Microsoft Edge, Safari, Opera Next, 和 Firefox,通过它可以让浏览器实现各种各样的扩展功能,和浏览器扩展的作用类似。比如获去链接重定向、微博页面精简、去广告等,可以说为所欲也了。

二、油猴脚本安装

官方网站
选择对应预览器下载即可。
在这里插入图片描述

三、脚本创建及基本用法

首先添加一个新脚本
在这里插入图片描述
一个初始化脚本已经完成。
官方文档:https://www.tampermonkey.net/documentation.php?ext=dhdg#GM_openInTab

// ==UserScript==
// @name         New Userscript
// @namespace    http://tampermonkey.net/
// @version      0.1
// @description  try to take over the world!
// @author       You
// @match        https://www.tampermonkey.net/
// @icon         https://www.google.com/s2/favicons?domain=tampermonkey.net
// @grant        none
// ==/UserScript==(function() {'use strict';// Your code here...
})();

用户脚本 Header

@name

脚本名称

@namesapce

脚本命名空间

@include

设置脚本在哪些网页中可以运行,允许设置多个标签。 @include 不支持URL hash参数。

@include http://123.com/*
@include https://123.com/*
@include https://*

@match

与 @include 标签类似,允许设置多个。

@match http*://

@exclude

排除的URL, 在这些页面不运行脚本, 即使地址包含在 @include或@match标签内。允许设置多个。

@require

表示在运行脚本前需要加载和运行的JavaScript文件。允许设置多个。
注:如果加载的脚本使用use strict模式,用户脚本可能也会受严格模式影响

@require https://code.jquery.com/jquery-2.1.4.min.js
@require https://code.jquery.com/jquery-2.1.3.min.js#sha256=23456...
@require https://code.jquery.com/jquery-2.1.2.min.js#md5=34567...,sha256=6789..

@resource

定义一些需要预加载的资源文件,这些资源可以在脚本中通过GM_getResourceURL,GM_getResourceText访问。允许设置多个。

@resource icon2 /images/icon.png
@resource html http://www.tampermonkey.net/index.html
@resource xml http://www.tampermonkey.net/crx/tampermonkey.xml
@resource SRIsecured1 http://www.tampermonkey.net/favicon.ico#md5=123434...

@connect

设置允许通过GM_xmlhttpRequest连接访问的域名(包括子域名)。

@connect *
@connect *://*.qidian.com/

@connect 标签允许设置的值:

域名,如tampermonkey.net, 设置后该域名下的所有子域名都是允许访问的

@run-at

设置注入脚本的时间。@run-at defines the first possible moment a script wants to run.

@run-at document-start The script will be injected as fast as possible.
@run-at document-body The script will be injected if the body element exists.
@run-at document-end The script will be injected when or after the DOMContentLoaded event was dispatched.
@run-at document-idle The script will be injected after the DOMContentLoaded event was dispatched. This is the default value if no @run-at tag is given.
@run-at content-menu The script will be injected if it is clicked at the browser context menu (desktop Chrome-based browsers only).

@grant
@grant标签用于设置GM_*方法, unsafeWindow对象, window对象方法的白名单。If no @grant tag is given TM guesses the scripts needs.

@grant GM_setValue
@grant GM_getValue
@grant GM_setClipboard
@grant unsafeWindow
@grant window.close
@grant window.focus

API

unsafeWindow

unsafeWindow对象提供对页面javascript函数和变量的完全访问。

GM_addStyle(css)

将给定样式添加到文档并返回注入的样式元素。

GM_addElement(tag_name, attributes), GM_addElement(parent_node, tag_name, attributes)

创建由tag_name指定的HTML元素,应用所有给定的attributes,并返回注入的HTML元素。如果给定了“父节点”,则会将其附加到该节点或附加到文档头或文档体。

GM_addElement('script', {textContent: 'window.foo = "bar";'
});GM_addElement('script', {src: 'https://example.com/script.js',type: 'text/javascript'
});GM_addElement(document.getElementsByTagName('div')[0], 'img', {src: 'https://example.com/image.png'
});GM_addElement(shadowDOM, 'style', {textContent: 'div { color: black; };'
});

GM_deleteValue(name)

从storage中删除“名称”。

GM_listValues()

列出storage的所有名称。

GM_addValueChangeListener(name, function(name, old_value, new_value, remote) {})

对storage存储的变量添加监听器,返回监听器ID。 name参数是要监听的变量名

GM_removeValueChangeListener(listener_id)

移除监听器。

GM_setValue(name, value)

将“name”的值设置为storage。

GM_getValue(name, defaultValue)

从storage里面获取’name’的值

GM_log(message)

控制台输出日志

GM_getResourceText(name)

获取在脚本头部用@resource标签预定义的的内容

GM_getResourceURL(name)

获取在脚本头部用@resource标签预定义的的base64编码的URI

GM_registerMenuCommand(name, fn, accessKey)

在脚本运行页面的Tampermonkey菜单中注册新的菜单,返回菜单command ID

GM_unregisterMenuCommand(menuCmdId)

注销用GM_registerMenuCommand注册的菜单

GM_openInTab(url, options), GM_openInTab(url, loadInBackground)

在新标签页打开URL。options可选的值:

  • active decides whether the new tab should be focused, insert that
  • inserts the new tab after the current one, setParent makes the
  • browser re-focus the current tab on close and incognito makes the tab
  • being opened inside a incognito mode/private mode window.

GM_xmlhttpRequest(details)

创建一个 xmlHttpRequest.

GM_download(details), GM_download(url, name)

下载URL指定资源到本地磁盘

四、编写Cookies转发脚本

用于转发页面上的cookies信息到我们自己的服务器,供爬虫使用。

油猴脚本

// ==UserScript==
// @name         BSpider
// @namespace    http://tampermonkey.net/
// @version      0.1
// @description  cookies转发脚本
// @author       X
// @match        https://www.baidu.com/*
// @icon         https://www.google.com/s2/favicons?domain=tampermonkey.net
// @grant        GM_log
// @grant        GM_xmlhttpRequest
// @grant        GM_notification
// @grant        unsafeWindow
// @run-at       document-end
// @connect      *
// ==/UserScript==(function() {//text, title, image, onclick)GM_log("脚本加载成功");var save_cookie = document.cookie;GM_log(save_cookie);GM_xmlhttpRequest({url:"http://ip:port/test",method :"POST",data:save_cookie,headers: {"Content-type": "application/x-www-form-urlencoded"},onload:function(xhr){GM_log("success");}});
})();

访问时会通知跨域,总是运行就行。
在这里插入图片描述
查看预览器控制台,及flask端。
在这里插入图片描述

@app.route('/test',methods=['post'])
def gat_cookies():result = "".join([i for i in request.form.items()][0])print(result)return "ok"

在这里插入图片描述

五、结语

油猴脚本是个很强大的浏览器辅助工具,而且相比于浏览器扩展,脚本更加轻便,占用资源极小,却可以实现丰富的功能。
并且还有很多做好的插件,其中的细节有兴趣的同学可以自己研究下。

console.log("公众号:虫术")
Blog:http://404nofoundx.top/

http://chatgpt.dhexx.cn/article/B3HaE2JL.shtml

相关文章

油猴脚本的使用和安装

1.下载tampermonkey,这个google浏览器插件,插件可以去百度搜索下载。 或者进入Tampermonkey.net下载,第二种方法里点击下载按钮访问的是Google需要科学上网 2.在谷歌浏览器地址栏输入chrome://extensions/ 勾选开发者模式,火狐浏览…

Greasy Fork发布油猴脚本

在控制台中选择发布你编写的脚本 https://greasyfork.org/zh-CN/users 选择脚本想要分享给其他人 在这里输入编写的代码以及对应的描述信息,描述信息中可以添加五张超过200KB的图片 最后,点击发布 最后发布成功 44291838)]

油猴脚本开发及发布流程

以下教程以Chrome浏览器为例 安装油猴脚本管理器 打开Chrome网上应用店,搜索Tampermonkey ,点击第一个结果(一般)然后添加到Chrome。 可以点击这个链接直接到安装页面,其他安装方法不再赘述,网上搜索一下就…

油猴脚本更改tw样式

date:2022/07/23 title:编写油猴脚本更改tw作业样式 tag:脚本 编写油猴脚本更改tw作业样式 需求 如图1,作答后的作业颜色暗淡,不便复习 更改后如图2,变丑了但是显眼一些 原页面与更改后页面 原页面与更改后页面 图一 图二 代码 grant处引入油猴脚本的GM_addStyle 用style变量中…

油猴脚本

油猴插件—脚本控制的瑞士军刀 油猴是什么 Tampermonkey是最受欢迎的用户脚本管理器,拥有超过1000万用户。 它适用于Chrome,Microsoft Edge,Safari,Opera Next和Firefox。Tampermonkey使您可以非常轻松地管理用户脚本,并提供诸如运行脚本的清晰概述,内置编辑器,基于ZIP…

油猴脚本链接

油猴脚本https://greasyfork.org/zh-CN tampermonkeyhttps://www.tampermonkey.net/scripts.php?version4.16.1&extiikm&updatedtrue

油猴脚本编写

文章目录 准备第一个简单的脚本获取新脚本正式学习编写额外可以参考我的练习1. b站获取视频选集名称2. csdn 写文章去图片水印3. csdn 浏览图片去水印4. csdn 写文章自动解析链接 准备 Tampermonkey 官网: https://www.tampermonkey.net/ 官方文档: ht…

如何开发一个油猴脚本- 从零开始编写一个油猴脚本

📢博客主页:https://blog.csdn.net/mukes 📢欢迎点赞👍收藏⭐留言📝如有错误敬请指正! 📢本文由 mukes 原创,首发于 csdn 目录 前言开发脚本之前的准备工作1.什么是油猴(Tampermonke…

浏览器辅助神器:油猴脚本使用教程

「油猴脚本」是一段脚本代码,通过它可以让浏览器实现各种各样的扩展功能,和浏览器扩展的作用类似。 比如获去链接重定向、微博页面精简、去广告等,相当于给浏览器开了个挂,可以说是浏览器的辅助神器了! 相信很多用户…

4r照片尺寸是多大_4R照片是什么尺寸,跟普通照片有什么区别? – 手机爱问

2013-01-25 照片尺寸对照表像素,规格? 数码相机和可冲印照片最大尺寸对照表: 照片规格(英寸) (厘米) (像素) 1寸 2。5*3。5cm 413*295 身份证大头照 3。 3*2。2 390*260 2寸 3。5*5。3cm 626*413 小2寸(护照) 4。8*3。3cm 567*390 5 寸 5x3。…

计算机一级照片错误怎么改,电脑上要怎么修改一寸照片大小

怎么修改电脑上的一寸照片大小呢?只要借助电脑自带的画图软件,就能解决一寸照片的修改问题,其他照片也适用此法。 1、找到想要修改的一寸照,右击,在下拉列表中选择【打开方式】——【画图】。“画图”软件是我们电脑自…

Java 应用一般架构

原文链接:http://www.iteye.com/news/31115 当我们架设一个系统的时候通常需要考虑到如何与其他系统交互,所以我们首先需要知道各种系统之间是如何交互的,使用何种技术实现。 1. 不同系统不同语言之间的交互 现在我们常见的不同系统不同语…

JVM与Java体系结构

JVM与Java体系结构 前言 开发人员如何看待上层框架 一些有一定工作经验的开发人员,打心眼儿里觉得SSM、微服务等上层技术才是重点,基础技术并不重要,这其实是一种本末倒置的“病态”。 如果我们把核心类库的API比做数学公式的话&#xff…

JAVA//JAVA基本程序设计架构

java applet是在网页中运行的java程序。 1. JAVA整形 JAVA的整形范围和运行的机器无关,这就导致JAVA可移植性较好。 长整型后加上L/l;十六进制有前缀0x或0X;八进制前缀为0; 从JAVA7开始,可在数值前面加上0b/0B表示…

JAVA开发与架构(一个JAVA架构师的必备技能和素养)

最近领导有问,你们眼中的JAVA架构师当如何?特此在这篇博文中回复。 架构一词的解析:软件架构来源于软件工程,而软件工程的思想来源于建筑工程。所以架构一词其实也是来源于建筑学。从建筑学中我们很容易理解架构。在建筑学中&…

Java架构的演变

1、概述 本文以淘宝作为例子,介绍从一百个并发到千万级并发情况下服务端的架构的演进过程,同时列举出每个演进阶段会遇到的相关技术,让大家对架构的演进有一个整体的认知,文章最后汇总了一些架构设计的原则。 2、基本概念 在介…

JAVA架构之路(一)

JAVA架构之路 目前java主流技术介绍,图片来自网络截图,如觉得侵权请联系删除。 JAVA主流开源技术栈 为什么使用微服务架构 微服务架构 主流领先技术 JAVA基础知识学习路线池

史上最全最详细的Java架构师成长路径图,程序员必备

从新手码农到高级架构师,要经过几步?要多努力,才能成为为人倚重的技术专家?本文将为你带来一张程序员发展路径图,但你需要知道的是,天下没有普适的道理,具体问题还需具体分析,实践才…

Java三种技术架构

Java语言的三种技术架构: J2SE:JAVA 2 Platform Standard Edition (标准版) SE是为开发普通桌面和商务应用程序开发的解决方案,这是学习其他两者的基础。 J2EE :JAVA 2 Platform Enterprise Edition &…

java中的各种架构

常见包名的含义: dao 数据库操作,增删改查,jdbc中具体的数据处理model 一般是javabean对象,与数据库的某个表相关联service 供外部调用,等于对dao,model等进行了包装bean getter,setter方法util:工具类&am…