基于Python开发chrome插件的方法分析
作者:juggd 发布时间:2023-04-22 14:41:33
本文实例讲述了基于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)解释器。
运行你自己的脚本
为了能够运行你自己的脚本,简单地修改一下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程序设计有所帮助。
来源:http://www.cnblogs.com/rrxc/p/4496380.html


猜你喜欢
- 引入numpy已经能够帮助我们处理数据,能够结合matplotlib解决我们数据分析的问题,那么pandas学习的目的在什么地方呢? num
- 数据库的数据量达到一定程度之后,为避免带来系统性能上的瓶颈。需要进行数据的处理,采用的手段是分区、分片、分库、分表。一、什么是mysql分表
- Python中if __name__ == ‘__main__‘作用要搞清楚这个问题,要知道以py作
- datasets.ImageFolder是PyTorch提供的一个预定义数据集类,用于处理图像数据。它可以方便地将一组图像加载到内存中,并为
- 从PHP生成HTML静态页面并存储到以年份和月份为名称创建的目录。读取全部数据批量生成,全部生成后弹出提示。可指定批次生成数量,建议不超过8
- 远程服务器配置可以使得数据库管理员在服务器以外的主机上连接到一个SQL Server实例,以便管理员在没有建立单据连接的情况下在其他的SQL
- go语言支持语法自己实现枚举类型我们都知道go语言没有原生的枚举类型,但是做业务开发有些时候没有枚举类型确实不方便前后端联调。我们可以通过g
- 以上是开头,安装完后需要导入转载的代码读取所有docx文件中的内容发现没有读取到表格数据:from docx import Document
- 微信小程序可谓是9月21号之后最火的一个名词了,一经出现真是轰炸了整个开发人员,当然很多App开发人员有了一个担心,微信小程序的到来会不会让
- mysql使用left join连接出现重复问题描述在使用连接查询的时候,例如以A表为主表,左连接B表,我们期望的是A表有多少条记录,查询结
- 业务难点设计一个抽奖系统,这个系统并不是具体化,是抽象化,具有以下的几个难点:1、抽奖业务需要 复杂多变2、奖品类型和概率设置3、公平的抽奖
- 有两种方式:一种是图片放在static中,一种是图片放在media中第一种:即:STATIC_URL = '/static/'
- 创建一张作者表,author,创建外键与book表,多对多关系 ,外键字段放在那张表都可以,class Author(models.Mode
- 本文介绍了python BlockingScheduler定时任务及其他方式的实现,具体如下:#BlockingScheduler定时任务f
- 本文采用拉普拉斯算子计算影像的模糊程度,小于阈值的影像被认为是模糊的,从而被移动到专门存放模糊影像的文件夹。本文只使用cv2和shutil库
- 代码如下import wordcloudimport jiebafont = r'C:\Windows\Fonts\simfang.
- 一、config.ini 配置文件[DATABASE]host = 192.1.1.1username = rootpassword = r
- python开启debug模式的代码如下所示:import requests session = requests.session()imp
- 一、前言 axios的封装和api接口的统一管理,其实主要目的就是在帮助我们简化代码和利于后期的更新维护。二、axios封装步骤安
- 导言就计算机科学而言,caching就是将所需要的数据或信息的备份放在某个地方,便于快速访问的这样一个过程。以数据处理(data-drive