端午节最后一天假花了一下午终于写出来一个自己的chrome扩展程序,六个小时在看开发文档,代码敲得也就几十行就实现了……
先谈背景,再谈搜集的资料,最后讲怎么实现。
背景是大家有算平均绩点和加权平均分的需要。绩点高于2.0才能拿学位证,高于1.0才有毕业证,出国申请学校都要用这个。加权平均分则用于每学年评奖学金的排名。
同学拿Python写了一个脚本,但是对于广大同学来说不方便使用,不可能人人都有Python环境,而且还用了第三方的库,更不能指望大家用pip指令安装库了吧。
那么写安卓程序怎么样呢?没意义,首先iPhone用户用不了,其次这玩意不像之前写的查宽带使用时长,这个一学期你也查不了几次啊。
在自己的服务器上搭建一个网站,然后微信公众号里面添加链接怎么样!好主意,但是我发现写网站太麻烦了,光配置LAMP环境都要折腾死了。
最后突然今天看到了一个推送讲怎么写chrome扩展,不得不承认那篇文章写的简直屎一般,让人完全没有想看的欲望。所以链接都不想贴给大家了。
既然决定写浏览器的扩展程序,那么就开始动手了。
首先先查一下chrome的扩展程序都是怎么写的。
主要是JavaScript和html。Html就不用说了随手写一个能用的就行,JavaScript还要先学一下,之前也就做CTF知道有这么个东西,从来都没用过,我们先看看有谁的教程最适合入门。
http://javascript.ruanyifeng.com/这个看了一下概述就看不下去,发现很适合完整的学习但是我用不上里面的几个功能。所以了解一下大致语法和标记一下一会可能用到的API就可以进行下一步了。
直接Google写chrome插件,看了两个别人入门用的极其简单的例子,发现了没什么用,还是应该看chrome的开发文档。全英文,很蛋疼,怎么办呢,搜一下知乎上有人推荐360给翻译的文档http://open.chrome.360.cn/extension_dev/devguide.html。感谢360。(后来发现有点老了,但是对这个简单的插件完全够用了)
在了解了大概所有的插件的实现方式之后,我就知道要怎么做了。
两个方案,XMLHttpRequest,在用户登录之后拿cookies去请求数据。这个想想就麻烦,而且都有浏览器了干嘛不直接让浏览器访问好我们在处理呢。方案二是直接用js处理页面上的elements,怎么简单怎么来,所以就决定用这个了。
查看页面元素,发现是个table,那就查怎么处理table,一下子就找到目标了。