油猴脚本编写

article/2025/11/5 7:36:38

文章目录

  • 准备
  • 第一个简单的脚本
  • 获取新脚本
  • 正式学习编写
  • 额外可以参考
  • 我的练习
    • 1. b站获取视频选集名称
    • 2. csdn 写文章去图片水印
    • 3. csdn 浏览图片去水印
    • 4. csdn 写文章自动解析链接

准备

Tampermonkey 官网:
https://www.tampermonkey.net/

官方文档:
https://www.tampermonkey.net/documentation.php?ext=dhdg

参考教程:
https://www.bilibili.com/video/BV1Ng411E7DA?p=4

参考API:
https://www.w3.org/TR/clipboard-apis/#async-clipboard-api
https://developer.mozilla.org/zh-CN/docs/Web/API/Clipboard/readText

此处使用 Microsoft Edge 浏览器。

获取扩展:
在这里插入图片描述
点这个扩展,然后打开加载项:
在这里插入图片描述
进入官方扩展页面:
https://microsoftedge.microsoft.com/addons/Microsoft-Edge-Extensions-Home

第一个简单的脚本

在这里插入图片描述
点击 + 号,开始编写:
在这里插入图片描述
match 匹配的网站(url),name 脚本名字,namespace 管理的空间,icon 脚本的小图标,grant 一些权限方面的…

match 有正则的规则,填 * 则都可以匹配。

这些都是 Tampermonkey 自己的配置参数,不能去掉注释。

获取新脚本

在这里插入图片描述
在这里插入图片描述
Greasy Fork:https://greasyfork.org/zh-CN

正式学习编写

引入 jQuery 在脚本中:需要用到 @require
在这里插入图片描述
操作可以用 jQuery 也可以用原生的 JavaScript

可以参考:原生JS获取HTML DOM元素的8种方法

在这里插入图片描述
为了正确选择到 nextElementSibling,即需要先加载出页面再选择,所以用 window.onload = function() 包起来。

额外可以参考

油猴脚本编写教程

我的练习

1. b站获取视频选集名称

最近在看 GAMES103,结果这个视频选集这里的文字很难显示全,总之就是麻烦。

在这里插入图片描述
于是我写了一个小脚本去输出打印所有的分集名字。

脚本如下:

// ==UserScript==
// @name         b站获取视频分集名字
// @namespace    http://tampermonkey.net/
// @version      0.1
// @description  try to take over the world!
// @author       hebohang
// @match        https://www.bilibili.com/video/*
// @icon         https://www.google.com/s2/favicons?domain=bilibili.com
// @grant        none
// ==/UserScript==(function() {'use strict';setTimeout(function(){var parts = document.getElementsByClassName('part');for (var idx = 0; idx < parts.length; idx++){console.log(parts[idx].innerText);}}, 5000)
})();

执行效果:
在这里插入图片描述
踩坑:

一开始用的 setInterval ,结果就是循环执行了,于是改用 setTimeout,后来干脆把 500 改成 5000,即5秒后执行,这样是为了确保Dom节点树已经被加载解析了,不然 document.getElementsByClassName 很可能会失败。

并且一开始我用 window.onload 想实现这样的功能,也不行,还是得用 setTimeout。

2. csdn 写文章去图片水印

csdn的图片去水印,只需要把后面的 ? 那一大串去掉就行了,于是我写了一个简单的脚本:

// ==UserScript==
// @name         csdn 写文章去图片水印
// @namespace    http://tampermonkey.net/
// @version      0.1
// @description  csdn 写文章去图片水印
// @author       hebohang
// @match        https://editor.csdn.net/*
// @icon         https://www.google.com/s2/favicons?domain=csdn.net
// @grant        none
// ==/UserScript==(function() {'use strict';setInterval(function(){var parts = document.getElementsByClassName('token cl cl-src');for (var idx = 0; idx < parts.length; idx++){var str = parts[idx].innerText;var index = str.indexOf('?');if (index != -1){var new_str = str.substring(0, index);parts[idx].innerText = new_str;}}}, 5000)
})();

注意,这里我就用了 setInterval ,每5秒检测一下所有图片,然后去水印。

3. csdn 浏览图片去水印

// ==UserScript==
// @name         CSDN 浏览图片去水印
// @namespace    http://tampermonkey.net/
// @version      0.1
// @description  try to take over the world!
// @author       hebohang
// @match        https://blog.csdn.net/*
// @icon         https://www.google.com/s2/favicons?domain=csdn.net
// @grant        none
// ==/UserScript==(function() {'use strict';setInterval(function(){var parts = document.getElementsByTagName('img');for (var idx = 0; idx < parts.length; idx++){var str = parts[idx].src;var index = str.indexOf('?');if (index != -1){var new_str = str.substring(0, index);parts[idx].src = new_str;}}}, 5000)
})();

本来想用 setTimeout ,但是想了一下图片可能没加载出来,还是设置循环算了,也不占性能。

随便找了一个网站测试:
在这里插入图片描述
结果:
在这里插入图片描述
ohhhhh!

4. csdn 写文章自动解析链接

// ==UserScript==
// @name         csdn 写文章自动解析链接
// @namespace    http://tampermonkey.net/
// @version      0.1
// @description  csdn 写文章自动解析链接
// @author       hebohang
// @match        https://editor.csdn.net/*
// @icon         https://www.google.com/s2/favicons?domain=csdn.net
// @grant        none
// ==/UserScript==(function() {'use strict';setInterval(function(){var parts = document.getElementsByClassName('token p');for (var idx = 0; idx < parts.length; idx++){var str = parts[idx].innerText;var index = str.indexOf('https://');if (index == -1){index = str.indexOf('http://');}if (index != -1 && str[index - 1] != '['){var new_str = "[" + str + "](" + str + ")";parts[idx].innerText = new_str;}}}, 3000)
})();

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

相关文章

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

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

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

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

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

2013-01-25 照片尺寸对照表像素&#xff0c;规格&#xff1f; 数码相机和可冲印照片最大尺寸对照表&#xff1a; 照片规格(英寸) (厘米) (像素) 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。…

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

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

Java 应用一般架构

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

JVM与Java体系结构

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

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

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

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

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

Java架构的演变

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

JAVA架构之路(一)

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

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

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

Java三种技术架构

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

java中的各种架构

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

JAVA架构与开发(JAVA架构是需要考虑的几个问题)

在企业中JAVA架构师主要负责企业项目技术架构&#xff0c;企业技术战略制定&#xff0c;技术框架搭建&#xff0c;技术培训和技术攻坚的工作。 在JAVA领域&#xff0c;比较多的都是web项目。用于解决企业的数字化转型。对于JAVA架构师而言&#xff0c;平时对项目的架构主要考虑…

全网最全的 Java 各类技术栈架构图汇总(建议收藏)

点击上方“Java基基”&#xff0c;选择“设为星标” 做积极的人&#xff0c;而不是积极废人&#xff01; 每天 14:00 更新文章&#xff0c;每天掉亿点点头发... 源码精品专栏 原创 | Java 2021 超神之路&#xff0c;很肝~中文详细注释的开源项目RPC 框架 Dubbo 源码解析网络应…

Java架构介绍(一)

java语言平台架构 java语言的平台架构由下面四部分组成&#xff1a; java编程语言java的class文件格式java应用程序接口&#xff08;API&#xff09;java虚拟机 这四部分的关系如下图所示&#xff1a; 可以看到&#xff0c;java编程环境分为两个时期&#xff0c;编译时和运行时…

Java架构

1.java 类加载器架构 2. JVM 架构 3. Java 技术体系 4.线程运行架构 5.Java 体系&#xff08;编译与运行&#xff09;结构 6.JMS 技术架构 JMS(Java Message Service)组成特点&#xff1a; JMS provider 实现JMS接口和规范的消息中间件&#xff0c;也就是我们的MQ服务器 JMS p…

笔记本电脑 (天梯图) 处理器 和 显卡

游戏本一般是i5-9300H起步&#xff0c;低于这个标准的游戏本不建议购买。另外需要注意的是不要被10代CPU唬住了&#xff0c;拿最近卖的比较火的i5-10210U来说&#xff0c;其性能还不如8代的i5-8300H 我们以移动版GTX1650为分界线&#xff0c;游戏本的显卡一般都在此之上&#…

处理器CPU天梯图,显卡天梯图(性能排名图)

本文转载自&#xff1a; https://www.cnblogs.com/little-white/p/3324393.html 作者&#xff1a;little-white 转载请注明该声明。 自己网上找的几个图&#xff0c;仅供参考&#xff0c;买电脑可以看看了~