在别家网站上执行自己的js代码(谷歌浏览器)(谷歌扩展程序)

@参考文章1  @参考文章2

日前针对一家投标网站进行了程序干预,且一定程度的干预成功,把方法给大家提取分享出来,感谢上述两篇博文

测试网站:百度https://www.baidu.com/

测试步骤:

1,新建记事本改名改后缀为manifest.json如下,保存为utf-8格式,否则谷歌加载插件失败(由于乱码)

2,新建baidu-yanan7890.js(utf-8格式),内容如下

3,把上述所有内容放在同一文件夹,展示如下

4,打开谷歌扩展程序,打开开发者模式——加载已解压的扩展程序

manifest.json

{
  "manifest_version": 2,//使用的版本
  "name": "百度插件",//插件的名称
  "description": "yanan针对百度的学习测试程序",//插件的描述
  "version": "1.0",//插件本身的版本号

  "icons": {
    "128" : "icon.png"//插件显示在的图标
  },
  "permissions": [
    "tabs", "http://*/*","https://*/*"//插件使用的权限,tabs允许使用chrome.tabs和chrome.windows的api,后面则是匹配模式,指可以和该模式的网站运行的代码进行交互。
  ],
  "content_scripts": [
    {
    "js":[//指定在Web页面内运行的javascript脚本
    "jquery-1.9.1.min.js",
    "baidu-yanan7890.js"
    ],
    "matches":["https://www.baidu.com/*"]//在哪些页面注入Content scripts
   }
  ]
}
//技术交流http://www.cnblogs.com/yanan7890

baidu-yanan7890.js

$(function(){

    setTimeout(function(){
        //$("#su").click()
        var evt = document.createEvent("MouseEvents");
        evt.initEvent("click", true, true);
        document.getElementById("su").dispatchEvent(evt);
    }, 4000);
});

加载成功后如下

5,测试,新建窗口或选项卡或刷新打开https://www.baidu.com/,每隔4秒会自动点击“百度一下”,证明插件成功

6,停止插件。没有其它插件的话可以停用开发者模式,有 的话可以关闭或删除该插件

上述步骤能完成一般的需求,但我还不太满意,感觉还有优化空间,比如指定多个页面及对应的js,以后有时间研究出来后再行补充

原文地址:https://www.cnblogs.com/yanan7890/p/10100430.html

时间: 2024-10-09 15:54:45

在别家网站上执行自己的js代码(谷歌浏览器)(谷歌扩展程序)的相关文章

js/ajax 新加载的数据 不执行设定的js代码

当我们做异步加载或者用js写dom对象的时候,发现原设定的js对新数据不起作用. 通常以下写法,但是对新加载的数据无效 $(".data").change(function () { }); 解决方法是吧js定位到页面刚加载就存在的对象上 代码如下 $(".images").on("change",'.data', function () {// 其中.images是页面加载时就存在的,是.data的父类或者父父--类 }); 这样问题就解决了

网站建设中常用的JS代码段落

1.屏蔽左右键 这个不介绍了. <script language="JavaScript"> document.oncontextmenu=new Function("event.returnValue=false;"); document.onselectstart=new Function("event.returnValue=false;"); </script> 2.jquery应用检测 什么意思呢?就是在CDN无

ajax加载html文件并执行其中的js代码,加载css样式

function callback(res){ var node = document.createElement('div'); node.innerHTML = res; document.body.appendChild(node); var scriptNodes = node.getElementsByTagName('script'); var len = scriptNodes.length; var styleNodes = node.getElementsByTagName('

js_ 预解析(js代码如何执行的)

1.要理解js代码是如何执行的 js代码是由  浏览器的 js解析引擎  来执行的,js代码执行(从上往下)之前要先预解析 js代码执行  :  同步.异步   (异步要等同步代码都执行完后再执行:异步的代码放在栈中等待同步代码从上往下全部执行完成之后再执行) 预解析  :作用 注意:定义函数中的 用函数表达式方式里只存在变量名提升,没有匿名函数提升 1.变量提升 2.函数提升 案例1: 案例2: 案例3: 原文地址:https://www.cnblogs.com/yangyutian/p/10

一行js代码识别Selenium+Webdriver及其应对方案

有不少朋友在开发爬虫的过程中喜欢使用Selenium + Chromedriver,以为这样就能做到不被网站的反爬虫机制发现. 先不说淘宝这种基于用户行为的反爬虫策略,仅仅是一个普通的小网站,使用一行Javascript代码,就能轻轻松松识别你是否使用了Selenium + Chromedriver模拟浏览器. 我们来看一个例子. 使用下面这一段代码启动Chrome窗口: from selenium.webdriver import Chrome driver = Chrome() 现在,在这个

ASP.NET—000:调试JS代码

ASP.ENT开发调试页面JS代码相信即使是菜鸟也会,不过我还是要啰嗦一下步骤.因为在页面使用JS太频繁了,而且也太容易出问题了.即使是高手在页面上写长篇的JS代码,也难免有bug出现,出了bug也只能乖乖调试.ASP.NET开发中,后台调试代码就不说了,直接代码行打断点就好了.前台就有点费事了.前期准备工作,一般分两种情况.一种是在工程中直接运行调试,譬如Visual studio2010以及以上的直接在vs里找到相应的页面直接运行就好了.另一种是部署到IIS上了,那么就得打开应用的页面,然后

试着讲清楚:js代码运行机制

一. js运行机制 js执行引擎 经常看文章的说到js是带线程的,其实这个说法非常的模糊,准确的是js执行引擎是单线程的,js执行引擎就是js代码的执行器,有了这个概念就可以下来说说js是如何运行的了. js代码如何运行? 在js代码执行的时候,js的代码是按照顺序执行的,从上到下,这个时候是同步的,不过,有几个例外: 异步的网络请求 事件绑定.事件监听器 时间触发函数 我们模拟一下,js引擎遇到这三类代码的情况: js执行的好好的,正在顺序执行代码,这个时候呢,遇到了异步的网络请求的代码,这个

ASP.NET的后台代码和前台JS代码相互调用

在实际的Web开发中,我们可能会常常遇到后台调用前台JS代码或者前台JS调用后台代码的情况.今天就把比较实用的前后台相互调用的方法总结出来和大家分享. <1>后台代码调用前台JS代码 一.说到后台代码调用前台的JS代码很多人首先就会想到使用 ClientScript.RegisterStartupScript()方法,该方法主要是注册启动脚本文本,即在后台执行调用前台JS代码 该方法有两个重载, 1.ClientScript.RegisterStartupScript(Type type,st

无法添加来自此网站的应用、扩展程序和应用脚本 Proxy SwitchySharp

翻墙需要用到Proxy SwitchySharp 插件,但是本来就访问不了Google,如何给Chrome安装扩展程序,只好下载好Proxy SwitchSharp再安装,结果Chrome 添加插件时突然提示"无法添加来自此网站的应用.扩展程序和应用脚本",之前用Win直接就可以安装了,奇怪,原来是因为近日 Google 的 Chrome 浏览器宣布从最新Chrome版本开始默认只允许从 Chrome Web Store 下载安装扩展程序, 而众多未登陆 Web Store 的无论是扩