Heim > Fragen und Antworten > Hauptteil
Ich erstelle eine Chrome-Erweiterung und möchte ein Python-Skript von meinem PC aus ausführen, indem ich auf eine Schaltfläche in der Erweiterung klicke (im Wesentlichen HTML). Das Python-Skript verwendet den Selenium-Webtreiber, um die Daten von der Website zu extrahieren und in einer anderen Protokolldatei zu speichern.
P粉3161107792023-11-03 14:40:52
您基本上使用nativeMessaging。它允许您在扩展程序和外部进程(例如 python)之间创建通信桥梁。
nativeMessaging 的工作方式是在您的计算机,并通过 stdin 和 stdout 与 Chrome 扩展进行通信。例如:
这就是您在 python 中编写 nativeMessaging 主机的方式,我已经包含了完整的示例来自文档,但使用更少的代码更容易理解。
这基本上是一个回显服务器,尊重标准输入和标准输出,确保它作为二进制流发送。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 |
|
这定义了通信 python 主机,确保扩展 guid 是您的扩展的 guid。
1 2 3 4 5 6 7 8 9 |
|
这将运行 python 可执行文件。
1 2 |
|
您运行一次,以在操作系统中注册您的主机。
1 |
|
添加nativeMessing
的权限
1 2 3 4 5 |
|
为了连接到 python 主机,您需要执行以下操作:
1 2 3 4 |
|
要向您的 python 主机发送消息,只需向端口发送一个 json 对象即可。
1 2 3 4 |
|
要知道断开连接时的错误:
1 2 3 4 |
|
这个完整的示例位于文档中,为了清楚起见,我只是重命名了一些内容,可用于 Windows/Unix https://chromium.googlesource.com/chromium/src/+/master/chrome/common/extensions/docs/examples/api/nativeMessaging< /a>