1.目录结构如下:

2.manifest.json文件代码如下:

{"description": "抓取页面数据","manifest_version": 2,"name": "抓数","version": "1.0","icons": {"48": "icon/data_48.png"},"browser_action": {"default_icon": {"48": "icon/data_48.png"},"default_title": "抓数","default_popup": "popup/index.html"},"content_scripts": [{"matches": ["*://*.taobao.com/*"],"js": ["scripts/jquery-3.4.1.min.js","scripts/index.js"]}],//向浏览器申请的权限"permissions": ["tabs","activeTab"]
}

3.content_scripts的相关脚本如下(匹配matches的网址会自动加载对应的js的配置的脚本):

//scripts/index.js
$(function () {// https://blog.csdn.net/qq_21859119/article/details/78805877$('body').append("<div>9999</div>");var list = $("#J_NavCommonRowItems_0").find("a").map(function (index, item) {return item.innerText;});console.log(list)var title = $("#J_NavCommonRow_0 .title")[0].innerText;console.log(title);chrome.runtime.onMessage.addListener(function (request, sender, sendResponse) {//request可以接收browser_action页面的js发送过来的数据if (request.action == "send") {//发送给browser_action的数据sendResponse({state: title + ''});}if (request.action == "submit") {sendResponse({state: title, list: Array.from(list)});}});
})

4.browser_action的相关脚本如下(点击浏览器插件时的弹出层):

//popup/index.html
<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>Title</title><link rel="stylesheet" href="index.css"/>
</head>
<body>
<form action="http://www.baidu.com" method="post"><dl><dd><label for="title">标题</label><input id="title" name="title" type="text"/></dd><dd><label for="sellCount">品牌类型</label><input id="sellCount" name="sellCount" type="text"/></dd><dd><label for="storeCount">品牌数量</label><input id="storeCount" name="storeCount" type="text"/></dd><button id="submit">提交表单</button></dl></form>
</body>
<script type="application/javascript" src="../scripts/jquery-3.4.1.min.js"></script>
<script type="application/javascript" src="index.js"></script>
</html>
//popup/index.js
$(function () {console.log(11)$('#submit').click(function () {chrome.tabs.query({active: true, currentWindow: true}, function (tab) {chrome.tabs.sendMessage(tab[0].id,//发送给content_script的数据{action: "submit"},function (response) {//response可以接收content_script发送过来的数据$("#title").val(response.state);$("#sellCount").val(response.list);$("#storeCount").val(response.list.length);console.log(response.list.join(','))});});})})
//popup/index.css
body {width: 500px;height: 500px;background-color: #eee;
}form {padding: 20px;text-align: center;
}dd {padding: 10px;
}

5.输入扩展插件的地址,打开开发者模式,加载开发好的插件。

6.测试插件效果:

浏览器插件开发--获取淘宝的品牌类型相关推荐

  1. Chrome浏览器插件开发-淘宝自动登录

    http://www.cnblogs.com/oshine/p/5379349.html 浏览器插件的介绍 Chrome浏览器插件开发的准备工作 manifest.json配置介绍 页面如何注入scr ...

  2. 使用selenium模拟浏览器,获取淘宝搜索页面商品名称销量等信息

    作者:李忠林 Github: https://github.com/Leezhonglin Gitblog: https://leezhonglin.github.io/ 本文仅用于学习. 使用自动化 ...

  3. python获取登录按钮_Python:Selenium模拟Chrome浏览器抓取淘宝商品信息

    对于采用异步加载技术的网页,有时候想通过逆向工程的方式来设计爬虫进行爬取会比较困难,因此,要想通过python获取异步加载数据往往可以使用Selenium模拟浏览器的方式来获取. Selenium是一 ...

  4. 电商API分享:获取淘宝商品历史价格api调用示例 参数说明

    在网络购物中,TAO宝是相信许多人的首选平台之一,而对于一个谨慎的购物者来说,价格的变化是非常重要的.所以获取淘宝商品历史价格,可以帮助购物者更好地作出决策,实现理性消费.获取淘宝商品历史价格主要能帮 ...

  5. 3.使用Selenium模拟浏览器抓取淘宝商品美食信息

    # 使用selenium+phantomJS模拟浏览器爬取淘宝商品信息 # 思路: # 第一步:利用selenium驱动浏览器,搜索商品信息,得到商品列表 # 第二步:分析商品页数,驱动浏览器翻页,并 ...

  6. 获取淘宝订单的解决方案

    项目需求: 需求很简单,就是想获取淘宝的订单: 获取淘宝订单的几种方式: 聚石塔: 首先是该商家必须已经入驻了聚石塔,因为聚石塔可以共享改商家的淘宝.天猫.阿里云.支付宝等信息.所以你可以通过该商家的 ...

  7. 弘辽科技:如何获取淘宝推广链接?有哪些推广方法?

    原标题<弘辽科技:如何获取淘宝推广链接?有哪些推广方法?> 今天为大家介绍一种推广方式,名字叫做淘宝客推广.淘宝用户们也可以成为淘宝客,通过淘宝客推广方式来赚取佣金,那么各位淘宝客们知道如 ...

  8. 模拟浏览器抓取淘宝书籍数据

    淘宝的html是动态加载的,直接用requests请求并不能找到想要的数据,这里用selenium库模拟浏览器登录并操作 导库 from selenium import webdriver 淘宝的ur ...

  9. 自动获取淘宝API数据访问的SessionKey

    原文地址为: 自动获取淘宝API数据访问的SessionKey 最近在忙与淘宝做对接的工作,总体感觉淘宝的api文档做的还不错,不仅有沙箱测试环境,而且对于每一个api都可以通过api测试工具生成想要 ...

  10. 获取淘宝购买到的商品订单物流API,买家订单物流API接口,淘宝买家订单API接口

    一.获取淘宝购买到的商品订单物流API,买家订单物流API接口,淘宝买家订单API接口代码对接如下: 1.公共参数: 名称 类型 必须 描述 key String 是 调用key(必须以GET方式拼接 ...

最新文章

  1. 镀铬亮条怎么修复_老车修复:翻新小改一辆破烂不堪的经典MINI,完美大变样...
  2. spool导出姓名中文乱码_MySQL不同字符集转化标准—7步实现,杜绝乱码!
  3. 进程间通信方式_第四十九期-Linux内核中的进程概述(4)
  4. salesforce 零基础学习(三十二)通过Streams和DOM方式读写XML
  5. 【翻译】在5分钟内了解HTTP3,同时补课HTTP 1.1, HTTP 2.0
  6. 19、【易混淆概念集】第十一章3 应急计划 VS 弹回计划 实施风险应对 监督风险
  7. 蒙提霍尔问题(三门问题)的思考与贝叶斯分析
  8. 磨皮三部曲---算法小白篇
  9. 什么是M1、M2以及与资本市场的关系
  10. 使用adb指令往机顶盒上安装应用
  11. mm游戏大全HTML5小游戏,HTML5小游戏——看你有多色(示例代码)
  12. 微信小程序画布实现个人签名,并保存为图片
  13. 3运输层 - 可靠数据传输的原理rdt
  14. Aop 切入点表达式
  15. android apk编译打包过程
  16. NVS4200M显卡“超频”
  17. Android安全 Hook技术,AndroidHook技术分析.pdf-北京理工大学信息系统及安全对抗实验中心.PDF...
  18. Linux read的用法
  19. 杠杆炒股利息一般是多少
  20. 你的人生看起来很长,每一秒都无法挽回。

热门文章

  1. 长生诀手游源码服务端
  2. Windbg(蓝屏分析工具)v10.0.18362.1版本更新
  3. C语言使用scanf_s函数输入的正确姿势
  4. 手把手教你使用腾讯的热修复框架-Tinker
  5. HTML +CSS 制作个人简历
  6. 如何在Word里打出带圈的数字?
  7. 揭秘马云帝国内幕:马云的野心有多大
  8. 广和通工业级5G模组产品线一览到底
  9. 创强教师办公用计算机配备要求,信息技术如何开展“创强”.doc
  10. 代码签名工具有哪些?好用的数字签名工具推荐