Je construis une extension Chrome et je souhaite exécuter un script Python depuis mon PC en cliquant sur un bouton de l'extension (essentiellement HTML). Le script Python utilise le pilote Web Selenium pour récupérer les données du site Web et les stocker dans un autre fichier journal.
Vous utilisez essentiellement nativeMessaging. Il vous permet de créer un pont de communication entre votre extension et un processus externe (comme python).
nativeMessaging fonctionne sur votre ordinateur et communique avec l'extension Chrome via stdin et stdout. Par exemple :
Hébergement avec Python
C'est ainsi que vous écrivez un hôte nativeMessaging en python, j'ai inclus l'exemple complet de la documentation mais c'est plus facile à comprendre avec moins de code.
host.py
Il s'agit essentiellement d'un serveur d'écho qui respecte stdin et stdout, garantissant qu'il est envoyé sous forme de flux binaire.
host.json
Cela définit l'hôte de communication python, en vous assurant que le guid de l'extension est le guid de votre extension.
Hôte.bat
Cela exécutera l'exécutable python.
Installer host.bat
Vous exécutez ceci une fois pour enregistrer votre hôte auprès du système d'exploitation.
Extensions Chrome
manifest.json
Ajouter
nativeMessing
autorisationscommunication.js
Pour vous connecter à l'hôte python, vous devez procéder comme suit :
Pour envoyer un message à votre hôte python, envoyez simplement un objet json au port.
Pour connaître l'erreur lors de la déconnexion :
L'exemple complet est dans la documentation, j'ai juste renommé certains éléments pour plus de clarté, fonctionne sous Windows/Unix https://chromium.googlesource.com/chromium/src/+/master/chrome/common/extensions /docs/examples /api/nativeMessaging