欢迎光临散文网 会员登陆 & 注册

【实用教程】手把手教你用脚本自动化去除页面广告~

2022-10-23 15:13 作者:月雨洛然  | 我要投稿

全过程笔记在此:

0.介绍

大家好,今天我来教一下

怎么用js脚本删除网页中的广告

这里采用自己下好的一个网站的网页搭建起来作为演示

1.元素选择

首先调出开发者控制台

一般可以直接通过右键检查广告元素来打开

不然也可以点击F12或者在设置中打开

打开之后点击左下角便可以用鼠标选择页面中的元素

2.正确选择

点击左上角的按钮可以选择广告

选好之后可以选一下它的父级

如果父级包含了广告全部则选择父级

3.手动删除广告

然后此时我们可以右键选择“删除元素”来删除

也可以使用键盘上的Delete键进行删除

然后便可以疯狂删除到极致

啊~舒适

4.js脚本删除

言归正传,刷新一下重头再来

刚才演示了手动删除方法,如

果你想要让其自动删除

就需要通过控制台来用代码删除指定元素

我们还是选中一个广告元素

可以发现最后出现了“== $0”的字样

这代表我们可以在控制台利用$0来引用这个元素

在控制台输入$0后回车可以发现和刚才的元素长得一样

此时我们可以用$0.remove()来删除元素

这就学会了通过js脚本来删除元素

5.自动获取元素

但是我们不能每次都通过点击来获取元素

还有不需要点便能获取元素的方法

仔细观察我们要删除的元素,发现其id="ad1"

此时我们可以通过document.getElementById('ad1')

这行代码来获取对象

document就代表了当前的页面

所以再连上前面的remove,只需要输入:

document.getElementById('ad1').remove()

便可以达到直接通过js来删除元素的效果

6.多个元素

但此元素有多个怎么办?

可以利用一个更简单的方法

我们在元素界面找到要删除的元素

右键复制selector,你会发现复制了一个“#ad1”

此时我们可以利用document.querySelectorAll('#ad1')

来获取所有广告元素

然后再用一个循环语句删除每个元素即可

全部代码如下:

var a=document.querySelectorAll('#ad1');

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

a[i].remove()

}

通过执行这个代码发现可以成功将多个广告删除

7.脚本自动执行

但是刷新会发现广告还是会出现

如果想让广告不再一直出现我们便

需要让浏览器自动执行这些代码

这里可以用闻名已久的

油猴(TamperMonkey)插件来实现

edge只要打开插件商店搜索便能找到

黑的和红的都可以

一个是稳定版,一个是测试版

8.脚本添加

安装好之后选择添加脚本

然后在@match条目填入要运行脚本的网站

这里直接写好了,所以不需要再进行修改

name这里可以修改脚本名

然后在后面直接写入我们的代码

最后Ctrl+s保存之后再刷新页面

刷新页面试试看

可以发现油猴右下角有红点

说明我们的脚本成功运行了

广告也成功删除了

9.间隔

到这里就基本学会了用脚本去广告的方法

后面是更深入一点的一些内容

请自行决定是否继续观看

如果你喜欢我的视频

欢迎点赞关注~

10.无id元素获取

那么继续后续内容

仔细观察可以发现,有些广告元素

它并没有id这个属性

此时不能通过id来直接获取,但是

同样可以用前面提到的selector来获取到

可以发现这里获取语句的就比较长了

因为它是通过元素层级来获取的

最后还用nth-child(1)这个语句来标识

这是第一个孩子元素

但其实我们想删除的不止第一个

还有第三个

但是第二个元素我们又想保留

此时我们可以手动将nth-child(1)

中的内容换成2n+1

此时代表了选择第1,3,5……的孩子元素

然后我们就能获取到和前面一样的

多个元素了

所以删除代码如下:

var a=document.querySelectorAll('body > div.wrap > div:nth-child(2n+1)');

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

a[i].remove()

}

同样加入油猴那个脚本中试试看

完全干净的页面出现了!

11.扩展

这样就可以了,再说一些额外的话

这个方法不仅可以用来屏蔽广告

还能屏蔽一些比较烦人的网站登录

比如v……哔!

咳咳

另外除了电脑端能用这个方法外

手机端支持扩展的浏览器也可以使用此方法

比如KIWI

不过kiwi不支持油猴,但暴力猴可以使用

它们功能基本一样的

只不过暴力猴好像经常不能在

页面运行结束时才运行脚本

导致总是有漏网之鱼

此时你可以用代码让其加载结束后运行

如下:

window.onload=function(){

//将原来的代表添加到这里即可

//var element=document.getElementById("login");

//element.remove();

}

12.结语

好了,以上便是本视频的全部内容了

感谢你能够看到现在

如果你喜欢我的视频

欢迎点赞和关注我

之后会给大家带来更多有趣有用的内容

拜拜~

【实用教程】手把手教你用脚本自动化去除页面广告~的评论 (共 条)

分享到微博请遵守国家法律