Chrome自动运行Js去广告,利用插件网页自动运行Js脚本,油猴去广告教程【去处指定部位的广告】

目的页面:https://m.dmzj.com/view/33353/61162.html

可以看到由这两个网页元素组成了网页广告,一个灰度div,一个倒计时且禁止滑动的div,我们需要做的就是用Chrome里的Console来运行Js,去处这两个div。

Chrome自动运行Js去广告,利用插件网页自动运行Js脚本,油猴去广告教程【去处指定部位的广告】_第1张图片

我百度了一下去处DIV的JS代码,找到了两种去处元素的方法。第一种是直接通过ID删除元素,第二种是如果元素没有ID,找到他特有的类,然后删除。getElementsByClassName可以找到所有某一类名的元素,我这里填写[0]默认的是删除第一个。

var m = document.getElementById("这里填写要去处的元素ID");
m.parentNode.removeChild(m);

var n = document.getElementsByClassName("这里填写要去处的元素ClassName")[0];
n.parentNode.removeChild(n);

所以我们修改一下代码,运用到我们的这个页面里。

var m = document.getElementById("mark");
m.parentNode.removeChild(m);
var n = document.getElementsByClassName("timeAD")[0];
n.parentNode.removeChild(n);

然后在Chrome的Console里运行,发现灰度DIV和倒计时DIV直接就被删除了。

可是每一次都得运行,比看10seconds广告还麻烦,这时候就得派上油猴脚本了[tampermonkey],这是一款相当强大的浏览器插件,可以指定某一个网页的页面自动运行你的JS脚本,简直神器啊!可以百度下载这个插件,然后给Chrome装上就是。

打开那个你要去除广告的网页,点击插件,然后添加新脚本

Chrome自动运行Js去广告,利用插件网页自动运行Js脚本,油猴去广告教程【去处指定部位的广告】_第2张图片

 

Chrome自动运行Js去广告,利用插件网页自动运行Js脚本,油猴去广告教程【去处指定部位的广告】_第3张图片

添加代码至 //Your code here 之前,如图。然后保存。

你刷新一下页面,你会发现,广告自动消失了!

但是我发现一个问题,发现广告的确是去除了,但是刚刷新没办法往下滑动,似乎还得等时间。

过了几秒钟之后变成下边这样之后才能滑动。

这时候我们需要在油猴里边添加上一行代码以修改html元素的style的值。所以最后添加完是下边这样的。

    var m = document.getElementById("mark");
    m.parentNode.removeChild(m);
    var n = document.getElementsByClassName("timeAD")[0];
    n.parentNode.removeChild(n);
    document.getElementsByTagName("html")[0].setAttribute("style","overflow: auto;");

再次刷新网页,发现已经不会再卡在那儿等时间了。点击下一章,发现脚本只匹配了原来那个网页,新的网页不能运行js。

这时候我们点击脚本编辑器上边的设置

Chrome自动运行Js去广告,利用插件网页自动运行Js脚本,油猴去广告教程【去处指定部位的广告】_第4张图片

添加用户匹配,把后边会变的部分换成*,这样就代码就可以运行了。

最后来个思考题,网页的最下边会有个div挡住下一章的按钮,请用Js去除,然后把Js代码添加到油猴脚本里自动运行,测试通过即完成任务。

Chrome自动运行Js去广告,利用插件网页自动运行Js脚本,油猴去广告教程【去处指定部位的广告】_第5张图片

 

Chrome自动运行Js去广告,利用插件网页自动运行Js脚本,油猴去广告教程【去处指定部位的广告】_第6张图片

总结

找到元素对象的代码

document.getElementById("mark");
document.getElementsByClassName("timeAD")[0];
document.getElementsByTagName("html")[0];

给元素设置属性值
document.getElementsByTagName("html")[0].setAttribute("style","overflow: auto;");

删除元素
var n = document.getElementsByClassName("timeAD")[0];
n.parentNode.removeChild(n);

以上的[0]中的0是被找到元素的索引,如果用被第一个找到的元素,则是[0]

 

你可能感兴趣的:(Script)