油猴Tampermonkey使用与编写一个定时任务

一,什么是油猴

官方是这样描述的:

Tampermonkey (油猴) 是拥有 超过 1000 万用户 的最流行的浏览器扩展之一。 它适用于 Chrome、Microsoft Edge、Safari、Opera Next 和 Firefox。
它允许用户自定义并增强您最喜爱的网页的功能。用户脚本是小型 JavaScript 程序,可用于向网页添加新功能或修改现有功能。使用 Tampermonkey,您可以轻松在任何网站上创建、管理和运行这些用户脚本。
例如,使用 Tampermonkey,您可以向网页添加一个新按钮,可以快速在社交媒体上分享链接,或自动填写带有个人信息的表格。在数字化时代,这特别有用,因为网页常常被用作访问广泛的服务和应用程序的用户界面。
此外,Tampermonkey 使您轻松找到并安装其他用户创建的用户脚本。这意味着您可以快速轻松地访问为您喜爱的网页定制的广泛库,而无需花费数小时编写自己的代码。
无论您是希望为您的站点添加新功能的 Web 开发人员,还是只是希望 改善在线体验的普通用户,Tampermonkey 都是您的工具箱中的一个很好的工具。

一句话概况就是,油猴是一款灵活的应用与浏览器端的脚本管理工具。

二,油猴安装与使用

1,下载油猴,建议去官网下载: https://www.tampermonkey.net/index.php?browser=chrome

2,浏览器安装油猴拓展程序

下载成功后会得到一个crx文件

打开谷歌浏览器,右上角设置打开,选择更多工具-》扩展程序,直接将上边的crx文件拖拽进打开的拓展程序页面,确认安装就可以了。

记得要打开开发者模式

安装完成后,在浏览器搜索栏出现油猴图标,就表明安装成功了

三,实战编写一个定时搜索的任务

1,新建一个脚本,点击油猴图标-》管理模板-》点击方块+号图标

这里写了一个自动定时修改百度输入框内容与发起点击搜索事件的脚本

// ==UserScript==
// @name         定时任务
// @namespace    none
// @version      2023.01.05
// @author       lifire
// @match        *://www.baidu.com/*
// @require      https://cdn.jsdelivr.net/npm/[email protected]/dist/vue.global.prod.min.js
// ==/UserScript==

let data = {
  startTime: '2023/1/5 12:38',
  list: [
    {
      beginTime: '01:15',
      content: '第一个文本'
    },
    {
      beginTime: '01:25',
      content: '第二个文本'
    },
    {
      beginTime: '01:35',
      content: '第三个文本'
    },
    {
      beginTime: '01:45',
      content: '第四个文本'
    },
    {
      beginTime: '01:55',
      content: '第五个文本'
    }
  ]
}

let nowTime = new Date().getTime()
let startTime = new Date(data.startTime).getTime()
console.log(startTime)

let sendText = function(t,c){
  setTimeout(() => {
    let inp = document.querySelector('#kw')
    inp.value = c

    let btn = document.querySelector('#su')
    setTimeout(() => {
      btn.click()
    }, 300);

    console.log(c)
  }, t);
}

data.list.map((v,i) => {
  let arr = v.beginTime.split(':')
  let beginTime = startTime + (Number(arr[0])*60 + Number(arr[1])) * 1000
  console.log(beginTime)
  if(beginTime > nowTime){
    let t = beginTime - nowTime
    sendText(t, v.content)
  } else {
    console.log('第'+(i+1)+'条已超时')
  }
})

将以上代码保存后,查看已安装脚本栏目,会出现我们的脚本列表

这时再打开百度页面,会发现油猴图标多了一个红色的数字标记,我们的定时任务脚本也已经启用了

只要修改脚本里的startTime,到达指定时间就可以看到浏览器自动发起搜索动作了。

四,引用本地文件

脚本写好了,但我想一些配置信息在本地修改,浏览器脚本直接引用本地文件,不用每次都去修改脚本文件。比如说我要做个定时发布评论的场景,有100条评论,我们可以本地新建一个text.js文件,将数据录入到text.js文件中,使用 // @require file://D:\text.js,将text.js引入到我们的脚本中,这样我只要修改本地的text.js文件就可以

猜你喜欢

转载自blog.csdn.net/weixin_49707375/article/details/128573540