chrome插件网页抓取(《Chrome插件开发,入门Demo》(END_)开发)

优采云 发布时间: 2022-02-14 18:16

  chrome插件网页抓取(《Chrome插件开发,入门Demo》(END_)开发)

  Chrome插件的介绍demo见:《Chrome插件开发,入门Demo》

  Chrome插件可以获得你想要的所有权限。比如可以请求跨域网站,可以修改你打开的网站的js内容的html内容,达到在网页上植入内容的目的。针对这些,我建议大家可以制作一些工具自己使用,不要制作一些恶意插件来诱导网友安装使用,达到自己不可告人的目的!

  关于如何通过插件修改网页内容(包括HTML和JS等),本文通过一个场景示例演示如何进行。

  场景:

  我个人有一个路由器,型号为H3C-XXX,我现在有一个需求,就是要在路由器中保持大量的dns解析。

  但是这个路由器限制添加dns记录的数量,只允许20条(路由器是企业级路由器,很贵,但是也比较老了。想吐槽厂家太不厚道了,只给 20)

  查看网页源码后发现网页中有一个全局js变量设置了20的限制,然后通过postman直接调用接口可以绕过js限制20添加成功,所以我我准备做一个超级简单的chrome插件来改变这个页面的变量值,比如改成99999。

  以下是插件的 manifest.json 和 js 脚本:

  清单.json

  {

"name":"H3C(Inject DOM)",

"description":"H3C路由器DNS管理页内容修改",

"version":"1.0.0",

"manifest_version":2,

"content_scripts": [

{

"matches": ["http://192.168.1.1/*"],

"js": ["myscript.js"],

"run_at": "document_start"

}

]

}

  注意:“run_at”设置为“document_start”

  myscript.js

  // 绑定这个事件需要在 manifest 中设定 "run_at": "document_start"

document.addEventListener('DOMContentLoaded', fireContentLoadedEvent, false);

function fireContentLoadedEvent () {

//console.log ("DOMContentLoaded");

// PUT YOUR CODE HERE.

//document.body.textContent = "Changed this!

// Checking page title

if (document.title.indexOf("STATIC DNS SERVER") != -1) {

// 通过追加script脚本修改变量

var script = document.createElement("script");

script.textContent ="dnshn_maxnum='99999'";

// 追加到head的结尾,复写这个变量的值

if(document.head){

document.head.appendChild(script);

}

}

}

  最后,加载或打包插件,添加到浏览器的插件中即可享用。

  有关如何将插件打包加载到浏览器中的详细信息,请参见我在本文开头写的一个演示。

  (结尾)

0 个评论

要回复文章请先登录注册


官方客服QQ群

微信人工客服

QQ人工客服


线