如何删除网页中不想看到的内容(小白思路)

发布于 2023-09-07  1.92k 次阅读


本文于 2023年9月7日 2:41 更新,注意查看最新内容

前言

最近一直用的机构答题系统不知道什么原因,突然给题目标上了难度,要是真实考试的时候有也就忍了。

主要官方公布的模拟考试系统没有标难度,正常情况下一般考试也不会标难度。

个人感觉就是跨端的时候,PC 端忘记处理了,才有了显示难度一说。

但我是把机构的模拟系统当做真正的考试用,所以力求能跟真实考试的系统一样,这样在考试的时候就会从容很多。

这里记录一下解决方法,以备后续查询。

解决

简单科普:

Web 网页走的是 HTTP 协议,最大的特性就是无状态无连接。

一次请求完成后,服务器就会断开当前客户端的连接。

这样我们就可以通过请求完成后,使用 JavaScript 去直接修改当前网页的内容。

下面直接上代码:

setInterval(function() {
  paras = document.getElementsByClassName('_7Nwsouy5L5H6P24HNsc3YQ==');

  for (i = 0; i < paras.length; i++) {

    //删除元素 元素.parentNode.removeChild(元素);

    if (paras[i] != null)

      paras[i].parentNode.removeChild(paras[i]);

  }
}, 1000);

有了代码之后,我们将代码复制到控制台运行,就可以完美删除考试系统中的难度标识了。

因为这段代码中有一个定时器,所以当我们在当前页面中运行过一次中,代码就会一直执行,直到页面重载。

扩展

上面解决了我的根本需求之后,但我还是觉得很不方便,因为每次使用的时候,都要手动运行代码。

第一时间,我想到了油猴脚本(可以理解成一个一直在运行的容器),但是我没写过油猴脚本怎么办。

立马现学当然是一个不错的方法,但对于有些情况,比如说我现在的需求是为了一直运行一个可以去除考试系统中难度的代码。

我的本质需求是为了考试哎,最节省时间的方法当然是使用人工智能啦,此时一个 ChatGPT 的靓仔走了出来。

将上述代码复制到 ChatGPT 中,并指令其修改成油猴脚本,一瞬间代码就改写完成了(毕竟只有几行代码)。

// ==UserScript==
// @name 去除题目难度元素
// @namespace https://www.vip.com/
// @version 1.0
// @description Remove elements on Zhumavip website every second
// @author Your Name
// @match https://www.vip.com/*
// @grant none
// ==/UserScript==

(function() {
'use strict';

setInterval(function() {
    var paras = document.getElementsByClassName('_7Nwsouy5L5H6P24HNsc3YQ==');

    for(var i=0; i<paras.length; i++){

        if (paras[i] != null) {
            paras[i].parentNode.removeChild(paras[i]);
        }
    }
}, 50);
})();

后话

严格意义上说,本文并不是一篇完整的教程,只是简单的提供了一个大的方向,例如可以通过 JavaScript 来删除页面中内容(你这好像在说废话),以及通过油猴脚本来自动运行代码,还有就是利用 ChatGPT 来生成一些简单的代码,所以在标题中,我写明了小白思路,大佬就别喷我啦 :cry: ,另外,也可以通过这种方式去实现去广告或者在网页中显示一些自己个人想要的效果,但个人觉得去广告还是使用现成的广告插件会比较好,逃~


这短短的一生,我们最终都会失去。