最近看了一些有关chrome扩展的内容。
感觉还是有点意思的呀,
写了一个csdn点赞的扩展。打开网页自动给作者点赞。
其实很简单。
chrome扩展必须有个manifest.json文件,然后可以注入js代码。
chrome扩展打开后会自动执行background.js的代码。
所以有两种方式:
- 用background调用chrome api操作网页。
- 注入js代码操作网页。
第一种我不是很清楚,但是鉴于js的强大功能,第二种就够用了。
那么直接开始正文。
manifest.json
{
"manifest_version": 2,
"name": "优快云点赞",
"version": "1.0.0",
"description": "简单的Chrome扩展demo",
"icons":
{
"16": "img/icon.png",
"48": "img/icon.png",
"128": "img/icon.png"
},
"browser_action":
{
"default_icon": "img/icon.png",
"default_title": "test"
},
"content_scripts":
[
{
"matches": ["https://blog.youkuaiyun.com/*"],
"js": ["notclick.js"]
}
]
}
第一个就是扩展的名称啥的,关键在于content_scripts,这个是代码注入部分。
第一个是想注入的网址,第二个是注入代码文件的文件名,第三个是注入时间。可以选document_start或者document_end
下面是注入的代码
window.onload = function(){
document.querySelector("#is-like > a").click();//csdn测试可以
}
定位元素,用getElementBy…
点击,用click()
注意,点的时候可能元素没加载出来,会报click()对象是null的错。
所以在document_end的时候注入。或者加一个windows.onload
至于图片,可以自己选一张放在img文件夹里。
我的
然后就可以添加扩展,启用了。
放一下效果:
右上角是扩展,打开以后发现就已经赞了,如果刷新一下,就取消赞了。