当前位置: 首页 > article >正文

【网页自动化】篡改猴入门教程

安装篡改猴

  1. 打开浏览器扩展商店(Edge、Chrome、Firefox 等)。
  2. 搜索 Tampermonkey 并安装。
    1. 如图
  3. 安装后,浏览器右上角会显示一个带有猴子图标的按钮。

    

创建用户脚本

  1. 已进入篡改猴管理面板
  2. 点击创建

脚本注释说明

  • @name:脚本名称。
  • @namespace:脚本唯一标识,可随意设置。
  • @version:脚本版本。
  • @description:脚本描述。
  • @match:脚本运行的网页 URL 模式(支持通配符 *)。
    • 示例:https://example.com/* 表示脚本在所有 example.com 的页面运行。
  • @grant:声明权限。
    • none:不使用任何特殊权限。
    • 可用权限:参考Tampermonkey 文档。

保存并测试脚本

  • 在编辑器中,按 Ctrl+S 或点击保存按钮。
  • 打开与 @match 中 URL 对应的网页。
  • 打开开发者工具(F12),在控制台查看脚本日志,确保脚本正常运行。

进阶操作

定时任务

通过 setIntervalsetTimeout 实现定时操作:

// 每 5 秒执行一次
setInterval(() => {
    console.log('定时任务执行中...');
    const button = document.querySelector("#buttonID");
    if (button) button.click();
}, 5000);

动态URL匹配

使用正则表达式匹配多种 URL:

// ==UserScript==
// @match        https://*.example.com/*
// @match        https://another-site.com/page/*
// ==/UserScript==

高级权限

通过 @grant 使用更多功能,如跨域请求或本地存储:

// ==UserScript==
// @grant GM_xmlhttpRequest
// @grant GM_setValue
// @grant GM_getValue
// ==/UserScript==

// 示例:跨域请求
GM_xmlhttpRequest({
    method: 'GET',
    url: 'https://api.example.com/data',
    onload: function(response) {
        console.log('数据加载成功:', response.responseText);
    }
});

示例:自动登录脚本

// ==UserScript==
// @name         自动登录
// @namespace    http://tampermonkey.net/
// @version      1.0
// @description  自动填写用户名和密码并登录
// @match        https://login.example.com/*
// @grant        none
// ==/UserScript==

(function() {
    'use strict';

    // 自动填充用户名和密码
    const usernameField = document.querySelector("#username");
    const passwordField = document.querySelector("#password");
    const loginButton = document.querySelector("#loginButton");

    if (usernameField && passwordField && loginButton) {
        usernameField.value = "myUsername";
        passwordField.value = "myPassword";
        console.log("用户名和密码已填写");

        // 自动点击登录按钮
        loginButton.click();
        console.log("登录按钮已点击");
    }
})();


http://www.kler.cn/a/474310.html

相关文章:

  • 【STM32+QT项目】基于STM32与QT的智慧粮仓环境监测与管理系统设计(完整工程资料源码)
  • 计算机网络 笔记 物理层
  • 闲谭SpringBoot--ShardingSphere分库分表探究
  • 继承(6)
  • BGP的local_preference本地优先级属性
  • 数据结构:LinkedList与链表—面试题(三)
  • C#标识符和关键字
  • 2025.01.15docker
  • Pytorch单、多GPU和CPU训练模型保存和加载
  • C++二十三种设计模式之观察者模式
  • 强化学习入门谈
  • Linux C/C++编程-UDP套接字编程示例
  • 微软人工智能研究院推出OLA-VLM:一种以视觉为中心的方法来优化多模态大型语言模型
  • Redis Stream
  • Git指令
  • 一文读懂单片机的串口
  • 基于R语言的DICE模型实践技术应用;评估气候变化对经济的影响以及不同减排政策的经济成本和效益
  • Dify进阶:使用FastAPI和Selenium构建远程浏览器控制与录屏服务
  • 蓝桥杯python省赛备战day2--数组枚举--845数组中的最长山脉-枚举算法刷题学习笔记3--leetcode
  • NoSQL 基础知识总结
  • python【数据结构】
  • RabbitMQ中的配置文件advanced.config
  • 配置嵌入式服务器
  • Vue3 监听属性
  • [豆包MarCode AI 刷题] 算法题解 Java 青训入营考核 五题打卡第一天
  • git commit冲突,需输入提交信息合并提交