实习生的脚本工具

  • 油猴脚本(实习生趁手的工具)
  • (把自己包装的比较厉害,让他们刮目相看,一定要耐心看完。。。)。
    • 他来了 油猴脚本只要了解js你就可以写
      • 了解油猴脚本
    • 为什么只写了一个脚本但是一个网站一次启动好几个。
    • 为什么拿不到dom。
    • 避坑指南 下一章

油猴脚本(实习生趁手的工具)

今天第一天实习,毋庸置疑。我拿到了工具人的活,就是将五百条数据手动删除,并且只能一条条搜,一条条删(毋庸置疑,实习生这种活很常见)。今天的重点 :如何快速转形

(把自己包装的比较厉害,让他们刮目相看,一定要耐心看完。。。)。

他来了 油猴脚本只要了解js你就可以写

了解油猴脚本

油猴脚本就是让你的浏览器把你写的js插入到打开的网站中。因此也就是说你可以操作dom。也就是说你可以为所欲为了。
首先你要下载谷歌浏览器,其次你得安装油猴插件。
点击查看保姆级安装教学
然后添加新的脚本,你就可以在编译器里面写了。现在看看基本格式。

// ==UserScript==
// @name         New Userscript
// @namespace    http://tampermonkey.net/
// @version      0.1
// @description  try to take over the world!
// @author       You
// @match        http://127.0.0.1:8848/%E8%84%9A%E6%9C%AC%E5%A4%84%E7%90%86/index.html
// @icon         https://www.google.com/s2/favicons?sz=64&domain=0.1
// @grant        none
// ==/UserScript==(function() {'use strict';// Your code here...
})();

上面有一片注解就是 油猴给留的接口 可以参考
油猴脚本文档

我们的代码就在function里面写。

那就是熟悉的操作dom了。

首先我们应该去爬数据(油猴脚本爬数据万能),只要你能看见的数据都可以爬取下来。(如果可以API爬那建议API爬)

找一个网站演示一下 http://zhongguose.com/

首先我们分析dom结构
很简单吧,一片li我们只需要 ↓这样就可以拿到一片名字和色号了(懒加载可以手动,可以代码)

// ==UserScript==
// @name         New Userscript
// @namespace    http://tampermonkey.net/
// @version      0.1
// @description  try to take over the world!
// @author       You
// @match        http://127.0.0.1:8848/%E8%84%9A%E6%9C%AC%E5%A4%84%E7%90%86/index.html
// @icon         https://www.google.com/s2/favicons?sz=64&domain=0.1
// @grant        none
// ==/UserScript==(function() {'use strict';setTimeout(() => {let name = document.querySelectorAll('.name')let rgb = document.querySelectorAll('.rgb')let newArr = []name.forEach( (r,i) => {let newJson = {}newJson.name = r.innerTextnewJson.rgb = rgb[i].innerTextnewArr.push(newJson)})console.log('所有的数据',newArr)}, 2000)// Your code here...
})();


然后你现在就有数据了 ,然后你就可以开始做了(这些数据你可以直接在控制台右键 复制(复制不好用就多点一点))。
譬如你要开始删除后台的一些数据。同理你可以直接操作dom.。

把这些数据放在你要用的js中。然后就可以开始写一些机器化操作。譬如把这所有的数据都上传,我这里直接写一个网站,供大家测试。
https://static-9b5ca660-ec27-4069-be5f-b989dcd7c433.bspapp.com/

我们的操作就是把这两个数据放到输入框,然后点确定(操作都差不多,只不过会有很多坑,我会说这些坑的)。

查看这个网站的dom (vue的)

// ==UserScript==
// @name         New Userscript
// @namespace    http://tampermonkey.net/
// @version      0.1
// @description  try to take over the world!
// @author       You
// @match        http://127.0.0.1:8848/%E8%84%9A%E6%9C%AC%E5%A4%84%E7%90%86/index.html
// @icon         https://www.google.com/s2/favicons?sz=64&domain=0.1
// @grant        none
// ==/UserScript==(function() {'use strict';setTimeout(() => {let one = document.getElementById('app')console.log(one)let input0 = one.getElementsByTagName('input')let button0 = one.getElementsByTagName('button')console.log(input0,button0)input0[0].value = '123'setTimeout( r => {button0[0].click()},1000)}, 2000)// Your code here...
})();

现在我们封装一下 然后引入刚才抓的数据。

// ==UserScript==
// @name         New Userscript
// @namespace    http://tampermonkey.net/
// @version      0.1
// @description  try to take over the world!
// @author       You
// @match        http://127.0.0.1:8848/%E8%84%9A%E6%9C%AC%E5%A4%84%E7%90%86/index.html
// @icon         https://www.google.com/s2/favicons?sz=64&domain=0.1
// @grant        none
// ==/UserScript==(function() {'use strict';const ourData = [{name : '这是名字'},{ name : '这是个名字'}] //这里全是刚才抓的数据 太多了//因为这里用了很多异步  所以简单来做的话自己调自己 还是挺好用的let nowIndex = 0 //设置从0开始function demo(value) {setTimeout(() => {let one = document.getElementById('app')console.log(one)let input0 = one.getElementsByTagName('input')let button0 = one.getElementsByTagName('button')console.log(input0, button0)// 要输入的值input0[0].value = valuesetTimeout(r => {button0[0].click()setTimeout(r => {if (nowIndex <= ourData.length - 1) {// 说明数据还没上传完// 进行下一个nowIndex++demo(ourData[nowIndex].name)}}, 1000)}, 1000)}, 2000)}// Your code here...
})();

这样就可以一直运行到最后了。当然肯定还有很多坑 就譬如 写脚本肯定很多 setTimeout() 这都是异步,一定要处理好。

为什么只写了一个脚本但是一个网站一次启动好几个。

为什么拿不到dom。

避坑指南 下一章

油猴脚本(实习生趁手的工具)相关推荐

  1. IDM下载工具配合油猴脚本帮你实现快速下载百度网盘文件

    安装IDM下载工具 第一步: 安装IDM 第二步: 配置IDM 具体步骤为: 提前新建一个文件夹,专门存放IDM的下载文件 第三步: 将IDM的扩展程序集成到谷歌浏览器,使得我们在谷歌浏览器中点击下载 ...

  2. 雷利子油猴脚本v0.3.6,无需启动天翼客户端直接下载

    简介: 雷利子油猴脚本是一款非常强力的天翼网盘下载工具,能够帮助你跳过客户端直接在网页上下载文件,突破多文件分享页文件大小下载限制,有需要的用户不要错过了,欢迎下载使用! 插件功能: [√] 突破单文 ...

  3. [原创方法!] 如何实现全自动登录各大网站? Cookie格式 、油猴脚本基础 解决Github邮箱验证,持久登录,免验证码

    之前电脑内存小, 谷歌浏览器又是内存怪物, 每次浏览器不用的时候总是习惯关掉. 这就导致了每次进入常用的网站就要重新登陆, 非常烦;  对! 就是即使浏览器保存了密码, 大部分网站仍然要输入一下验证码 ...

  4. 【教程、无技术含量】简单的油猴脚本编写教程

    不建议阅读者: 前端大神 想要深入学习(涉及到分析挖掘调用网站中js算法/自己写算法)油猴脚本的读者[备注:楼主也不会,楼主也很绝望啊...] 阅读以下内容所需知识: javascript/jQuer ...

  5. chrome拓展以及油猴脚本推荐

    可以下载chrome拓展的网站 --> 拓展迷 拓展推荐 用途 Tampermonkey 几乎万能 Adblock Plus 免费的广告拦截器 Infinitypro 新标签页 JSON Vie ...

  6. 记录一次油猴脚本开发的Demo(入门级)、开发过程

    记录一次开发油猴脚本的demo 前言:之前听别人讲油猴脚本怎么怎么地,怎么怎么样,一直以为是个很难的东西,所以在上周五的时候,就自己看了一下,这个东西也不太难.主要还是js玩的6就行了.当然了我的js ...

  7. 基于谷歌油猴脚本观看视频

    一.下载.安装chrome浏览器 下载地址:https://download.csdn.net/download/Abel_Huang_/15436666 下载完成一路确认下去就安装好了 二.下载油猴 ...

  8. Tampermonkey(油猴)脚本编写快速入门

    目录 油猴脚本概述 脚本注释/注解 脚本权限 grant 添加新脚本 自定义网页倒计时 网页浏览离开黑屏保护 微博视频下载助手 华为云工作项列表突出展示工作项 Greasy Fork 发布脚本 油猴脚 ...

  9. [油猴脚本开发指南]脚本ajax的跨域请求

    转载自油猴中文网:bbs.tampermonkey.net.cn 李恒道QQ4548212 油猴中文网bbs.tampermonkey.net.cn TamperMonkey GreaseMonkey ...

  10. 【油猴脚本】生成纯元素CSS选择器(附开发笔记)

    脚本介绍 用途 常见的CSS选择器: #gatsby-focus-wrapper > div > div > div.Box-nv15kw-0.Flex-arghxi-0.layou ...

最新文章

  1. 第十六届智能车竞赛创意组比赛-筹划初稿
  2. mongodb安装_MongoDB事实:商品硬件上每秒插入80000次以上
  3. X1000应用程序打包流程
  4. python中cgi到底是什么_十分钟搞懂什么是CGI(转)
  5. 负载均衡设备oracle,Oracle RAC 服务器端联接负载均衡(Load Balance)
  6. 3、常用关键字,变量赋值,多个变量赋值,标准数据类型,数字,字符串,列表,元组,字典,数据类型转换
  7. Java sdk及tomcat安装设置
  8. 父子组建传值_浅谈Vue父子组件和非父子组件传值问题
  9. 30条架构原则:助你成为大牛架构师
  10. 树莓派绿灯闪了几下不闪了_城市猎人的树莓派笔记一灯大师
  11. 发布锁定表头的一个思路
  12. 老李分享:Web Services 组件
  13. 使用VIsio绘制E-R图
  14. 健康驿站房间线上预约系统网站分析
  15. ALSong-带有高级音效的漂亮音乐播放器(类似千千静听)
  16. Unity EditorWindow Rename
  17. C语言学习:除去剪切板内容的换行与回车
  18. Keil软件仿真STM32互补输出PWM
  19. 哪个平台回收速度快?
  20. 什么是ASP.NET

热门文章

  1. ios property 之 strong weak unsafe_unretained
  2. 蓝桥杯题目 统计回文子串
  3. 硬盘的接口,总线,协议知识点总结
  4. Android WebRTC 音视频开发总结
  5. PyQt5+VTK环境搭建
  6. Linux设置bypass网卡,Linux pwn入门教程(7)——PIE与bypass思路
  7. Java游戏开发 —— 俄罗斯方块
  8. 基础算法|Java递归算法练习
  9. 单片机是什么?单片机编程怎么入门?
  10. 一文读懂复杂网络(应用、模型和研究历史)