基于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 03 Python
python简单实现获取当前时间
Aug 27 Python
Python排序搜索基本算法之插入排序实例分析
Dec 11 Python
tensorflow 用矩阵运算替换for循环 用tf.tile而不写for的方法
Jul 27 Python
对python中的iter()函数与next()函数详解
Oct 18 Python
python3 http提交json参数并获取返回值的方法
Dec 19 Python
Python 将json序列化后的字符串转换成字典(推荐)
Jan 06 Python
python str字符串转uuid实例
Mar 03 Python
Python ORM框架Peewee用法详解
Apr 29 Python
Python绘制动态水球图过程详解
Jun 03 Python
详解pytorch tensor和ndarray转换相关总结
Sep 03 Python
python获取天气接口给指定微信好友发天气预报
Dec 28 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
最令PHP初学者头痛的十四个问题
2006/07/12 PHP
smarty内置函数config_load用法实例
2015/01/22 PHP
PHP在线调试执行的实现方法(附demo源码)
2016/04/28 PHP
详解thinkphp中的volist标签
2018/01/15 PHP
通过Unicode转义序列来加密,按你说的可以算是混淆吧
2007/05/06 Javascript
js中将多个语句写成一个语句的两种方法小结
2007/12/08 Javascript
JS简单的轮播的图片滚动实例
2013/06/17 Javascript
将两个div左右并列显示并实现点击标题切换内容
2013/10/22 Javascript
不使用jquery实现js打字效果示例分享
2014/01/19 Javascript
三种方式获取XMLHttpRequest对象
2014/04/21 Javascript
体验jQuery和AngularJS的不同点及AngularJS的迷人之处
2016/02/02 Javascript
基于jQuery实现Accordion手风琴自定义插件
2020/10/13 Javascript
javascript实现电脑和手机版样式切换
2017/11/10 Javascript
Vue-Router的使用方法
2018/09/05 Javascript
小程序显示弹窗时禁止下层的内容滚动实现方法
2019/03/20 Javascript
JS控制下拉列表左右选择实例代码
2020/05/08 Javascript
记一次用ts+vuecli4重构项目的实现
2020/05/21 Javascript
Python数组遍历的简单实现方法小结
2016/04/27 Python
Python实现运行其他程序的四种方式实例分析
2017/08/17 Python
python中单下划线_的常见用法总结
2018/07/10 Python
python 用下标截取字符串的实例
2018/12/25 Python
Python二叉树的镜像转换实现方法示例
2019/03/06 Python
python实现AES加密解密
2019/03/28 Python
Pyqt5 基本界面组件之inputDialog的使用
2019/06/25 Python
Django REST Framework之频率限制的使用
2019/09/29 Python
PyCharm最新激活码(2020/10/27全网最新)
2020/10/27 Python
python制作抽奖程序代码详解
2021/01/15 Python
美国知名的百货清仓店:Neiman Marcus Last Call
2016/08/03 全球购物
自荐信的五个重要部分
2013/10/29 职场文书
千元咖啡店的创业计划书范文
2013/12/29 职场文书
投标单位介绍信
2014/01/09 职场文书
品牌服务方案
2014/06/03 职场文书
大学军训的体会
2014/11/08 职场文书
酒店前台辞职书
2015/02/26 职场文书
canvas绘制折线路径动画实现
2021/05/12 Javascript
idea下配置tomcat避坑详解
2022/04/12 Servers