基于Python开发chrome插件的方法分析


Posted in Python onJuly 07, 2018

本文实例讲述了基于Python开发chrome插件的方法。分享给大家供大家参考,具体如下:

谷歌Chrome插件是使用HTML、JavaScript和CSS编写的。如果你之前从来没有写过Chrome插件,我建议你读一下这个。在这篇教程中,我们将教你如何使用Python代替JavaScript。

创建一个谷歌Chrome插件

首先,我们必须创建一个清单文件:manifest.json。

{
 "manifest_version": 2,
 "name": "Python Chrome Plugin",
 "description": "This extension runs Python code.",
 "version": "1.0",
 "browser_action": {
  "default_icon": "icon.png",
  "default_popup": "popup.html"
 },
 "permissions": [
  "activeTab",
  "https://ajax.googleapis.com/"
 ]
}

然后创建一个名为popup.html的文件:

<!doctype html>
<!--
 This page is shown when the extension button is clicked, because the
 "browser_action" field in manifest.json contains the "default_popup" key with
 value "popup.html".
 -->
<html>
 <head>
  <title>Getting Started Extension's Popup</title>
  <style>
   body {
    font-family: "Segoe UI", "Lucida Grande", Tahoma, sans-serif;
    font-size: 100%;
   }
   #status {
    /* avoid an excessively wide status text */
    white-space: pre;
    text-overflow: ellipsis;
    overflow: hidden;
    max-width: 400px;
   }
  </style>
  <!--
   - JavaScript and HTML must be in separate files: see our Content Security
   - Policy documentation[1] for details and explanation.
   -
   - [1]: https://developer.chrome.com/extensions/contentSecurityPolicy
   -->
  <script src="popup.js"></script>
 </head>
 <body>
  <div id="status"></div>
  <img id="image-result" hidden>
 </body>
</html>

最后得到一个图标,并保存为icon.png。打开chrome://extensions,点击开发者模式。点击“加载未打包扩展程序”,选择文件夹,点击OK。

为Chrome扩展程序添加Python

现在你拥有了最基本的权利,我们可以在代码中添加Python。为了能在一个浏览器中运行Python,你有很多个选择,包括Brython和emcascripten。我们决定使用Brython。我们将从一个服务器运行Brython脚本。改变popup.html的内容:

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta charset="iso-8859-1">
<style>
body {
  margin: 0 !important;
  padding: 0 !important;
  width: 800;
}
#frame {
  overflow: hidden;
  width:790;
  height:324;
}
</style>
</head>
<body onLoad="">
<iframe src=http://brython.info/console.html id="frame" seamless="seamless" scrolling="no"></iframe>
</body>
</html>

重启下你的插件,你就会在你的谷歌Chrome浏览器中得到一个Python(Brython)解释器。

基于Python开发chrome插件的方法分析

运行你自己的脚本

为了能够运行你自己的脚本,简单地修改一下popup.html框架中的url即可:

<iframe src="BRYTHON SCRIPT URL" id="frame" seamless="seamless" scrolling="no"></iframe>

这个脚本应该运行在你自己的服务器上。你可以从网上运行任意的Brython脚本。利用Brython,你可以简单地在脚本标签中输入Python代码。

总结:

Chrome插件是使用HTML、JavaScript和CSS创建的。我们想知道在谷歌Chrome插件中能否使用Python代码。我们最终得到了一个浏览器中的Python解释器和执行Python脚本的能力。记住,这只是个实现性的结果,只是一个玩具,在这一点上,我不建议你将所有的插件都移植或建立在Brython上。

希望本文所述对大家Python程序设计有所帮助。

Python 相关文章推荐
爬山算法简介和Python实现实例
Apr 26 Python
python实现登陆知乎获得个人收藏并保存为word文件
Mar 16 Python
Python基于tkinter模块实现的改名小工具示例
Jul 27 Python
python如何去除字符串中不想要的字符
Jul 05 Python
Python实现读取txt文件并转换为excel的方法示例
May 17 Python
python多进程实现文件下载传输功能
Jul 28 Python
Python中实现单例模式的n种方式和原理
Nov 14 Python
python实现控制电脑鼠标和键盘,登录QQ的方法示例
Jul 06 Python
基于python实现计算且附带进度条代码实例
Mar 31 Python
Python startswith()和endswith() 方法原理解析
Apr 28 Python
Python2.x与3​​.x版本有哪些区别
Jul 09 Python
Pytorch GPU内存占用很高,但是利用率很低如何解决
Jun 01 Python
Python实现基于C/S架构的聊天室功能详解
Jul 07 #Python
Python实现的txt文件去重功能示例
Jul 07 #Python
Django 多语言教程的实现(i18n)
Jul 07 #Python
python利用requests库进行接口测试的方法详解
Jul 06 #Python
python生成密码字典的方法
Jul 06 #Python
Python 3.x 判断 dict 是否包含某键值的实例讲解
Jul 06 #Python
使用python中的in ,not in来检查元素是不是在列表中的方法
Jul 06 #Python
You might like
用IE远程创建Mysql数据库的简易程序
2006/10/09 PHP
CodeIgniter中使用cookie的三种方式详解
2014/07/18 PHP
PHP实现清除wordpress里恶意代码
2015/10/21 PHP
学习php设计模式 php实现合成模式(composite)
2015/12/08 PHP
php 浮点数比较方法详解
2017/05/05 PHP
javascript 混合的构造函数和原型方式,动态原型方式
2009/12/07 Javascript
实例分析js和C#中使用正则表达式匹配a标签
2014/11/26 Javascript
jQuery简单实现隐藏以及显示特效
2015/02/26 Javascript
jQuery模拟物体自由落体运动(附演示与demo源码下载)
2016/01/21 Javascript
jQuery的实例及必知重要的jQuery选择器详解
2016/05/20 Javascript
关于JavaScript限制字数的输入框的那些事
2016/08/14 Javascript
详解ECharts使用心得总结
2016/12/06 Javascript
微信小程序 连续旋转动画(this.animation.rotate)详解
2017/04/07 Javascript
Angular.JS内置服务$http对数据库的增删改使用教程
2017/05/07 Javascript
angular-ngSanitize模块-$sanitize服务详解
2017/06/13 Javascript
jQuery Ajax向服务端传递数组参数值的实例代码
2017/09/03 jQuery
基于Vue、Vuex、Vue-router实现的购物商城(原生切换动画)效果
2018/01/09 Javascript
vue移动端项目缓存问题实践记录
2018/10/29 Javascript
微信小程序实现点击图片旋转180度并且弹出下拉列表
2018/11/27 Javascript
vue+iview动态渲染表格详解
2019/03/19 Javascript
微信小程序事件流原理解析
2019/11/27 Javascript
[00:43]魔廷新尊——痛苦女王至宝捆绑包
2020/06/12 DOTA
探寻python多线程ctrl+c退出问题解决方案
2014/10/23 Python
python 全局变量的import机制介绍
2017/09/07 Python
python 二分查找和快速排序实例详解
2017/10/13 Python
selenium+python截图不成功的解决方法
2019/01/30 Python
django创建css文件夹的具体方法
2020/07/31 Python
25个CSS3动画按钮和菜单教程分享
2012/10/03 HTML / CSS
曼城官方网上商店:Manchester City
2019/09/10 全球购物
初中物理教学反思
2014/01/14 职场文书
初二物理教学反思
2014/01/29 职场文书
专题组织生活会思想汇报
2014/10/01 职场文书
农村文化建设标语
2014/10/07 职场文书
通知的格式范文
2015/04/27 职场文书
食品药品安全责任书
2015/05/11 职场文书
pytorch分类模型绘制混淆矩阵以及可视化详解
2022/04/07 Python