chrome抓取网页插件(更文挑战第1天:自动签到卡,五块钱一个月)
优采云 发布时间: 2022-01-12 17:12chrome抓取网页插件(更文挑战第1天:自动签到卡,五块钱一个月)
这是我参加更文挑战赛的第一天。活动详情请查看:更文挑战赛
最近在奇点中文网上看小说,突然发现官方竟然还卖一个月五块钱的自动签到卡!作为一个程序员,你怎么能花这么多钱!
于是我开始写剧本。
第 1 步:尝试有规律地模拟按钮点击
图片中的“已认领”是未认领前的红色按钮!!
我试过直接在控制台写js,可行但不完全可行,因为每次点击接收后页面都会刷新;我必须另谋出路。想来想去,我们只能找到一个插件来自动注入这段代码。于是,我修改了一个很久没用的插件,把这段代码塞进去。完美的!做得好!
但是这里还有一个问题,就是虽然实现了,但是不明白这个谷歌插件的开发方式。
第二步:全网搜索谷歌插件开发文档
经过一番搜索,我终于找到了目前编写此脚本的最佳文档。
英文文档最好找,用谷歌搜索就可以找到,需要翻墙。
中文文档参差不齐,终于找到了一个很不错的博客,有需要的可以点个赞,【干货】Chrome插件(扩展)开发攻略
第三步:开始开发,功能逻辑并不复杂,只是一个想法
我已经把代码上传到了GitHub,有兴趣的可以入手。链接在这里:pxyzexp-qidian
代码目录如下:
*_locales:* 是为了国际化而引入的。这里无需介绍。其他国家不应该用起点看小说。
img:存储图标
js:js文件
background.html:在后台连续运行的 HTML(常驻)
manifest.json:核心配置文件,这个是最重要的
popup.html:浏览器右上角图标显示的页面
重点关注三个文件:manifest.json、content-script.js、popup.html
manifest.json(必须有,插件的所有配置参数都在这个里面):
//这里是我的配置。
{
"manifest_version": 2, // 清单文件的版本,这个必须写,而且必须是2
"name": "pxyzexp-qidian", // 插件名称
"version": "1.0.0", //插件版本
"description": "起点自动签到工具",
"background": { //插件后台
"page": "background.html"
},
"icons": //插件图标
{
"48": "img/icon.png",
"128": "img/icon.png"
},
"browser_action": //浏览器右上角图标设置
{
"default_icon": "img/icon.png",
"default_title": "起点自动签到工具",
"default_popup": "popup.html" //浏览器右上角图标展示页面
},
"content_scripts":
[
{
// "" :匹配所有地址
"matches": ["https://my.qidian.com/level/*"],
// 多个JS按顺序注入
"js": ["js/content-script.js"],
// 代码注入的时间
"run_at": "document_end"
}
],
// 默认语言
"default_locale": "zh_CN"
}
content-script.js(js注入,自动点击按钮登录的脚本在这里)
<p>(function() {
//定时点击,因为起点中文网签到的时候,会有时间限制,就挑了个最简单的方式,重复点击,对网页也不会造成什么负荷
setInterval(function(){
var demo = document.getElementById('elTaskWrap');
var liEle = demo.getElementsByTagName('li');
for(var i=0;i