油猴脚本编写如何入门?

By mimi0123 at 2020-04-06

最近想写个js脚本,清除页面广告的,鼓捣了一早上也没搞好。

先是用jquery的选择器来识别DOM元素,然后逐个删除,效率很不错,但是有个别元素无论如何都无法删除,不知道是没识别到还是其他什么原因。另外对所有代码均对网站主页无效。

之后改用JS写,感觉更加痛苦更加繁琐不说,一个广告都没删掉。

我没理解问题是出在哪里了?是本身浏览器自带的DOM识别就出问题,还是前端设置出问题,按照道理来说这种事应该非常简单,毕竟只涉及前端修改。把DOM元素标记好,直接写程序就完了。

但花了很长时间都没完成,不知道问题出在哪里。

mimi0123 at 2020-04-06
1

你先要确定你是否选择到了正确的元素(比如把选择的结果 console.log出来

然后再决定对这个元素做什么事情

这个不要在油猴里做,先在浏览器console里做实验为好。

rebecca at 2020-04-07
2

@rebecca #2

刚才已经找到部分广告无法清除的原因了,有些广告是异步加载,而油猴在异步事件触发前,就已经运行完了。等于说对触发事件之后的新页面无效。

mimi0123 at 2020-04-07
3

@mimi0123 #3 是,所以加延时就可以解决。

rebecca at 2020-04-07
4

@rebecca #4 目前通过检查元素确定广告模块的标签属性和样式表名称,然后在控制台里编写程序,明明通过名称取到合法对象。

但显示SyntaxError: Document.querySelector: ‘[object HTMLDocument]’ is not a valid selector

也就是对象类型有问题,无法用删除函数。

mimi0123 at 2020-04-07
5

@mimi0123 #1 都有现成的呀,为啥要自己写。uo 就可以自己选择要清除的页面元素。

小二 at 2020-04-07
6

@小二 #6

已经换了,主要想通过删广告练习下油猴编程,现在计划通过编写油猴脚本翻译一个外国网站界面。

mimi0123 at 2020-04-07
7