Si hallas algún problema con tu código o trabajo, recuerda probar siempre en un ambiente de testing antes subir el código al proyecto final.
Solución:
Cuando se activa una extensión de Chrome, ya se está “ejecutando” (su página de fondo/eventos, al menos). No hay una API para hacer clic programáticamente en el botón.
Si desea utilizar la funcionalidad de una extensión existente con poco esfuerzo, le sugiero que descargue el código fuente de la extensión e inserte un detector de eventos adicional en el código fuente de la extensión.
- Obtenga la fuente de la extensión (por ejemplo, usando el visor de fuentes de la extensión de Chrome, también conocido como CRX Viewer).
- Descomprima el archivo zip.
-
Crear un nuevo archivo HTML,
example_name.html
y deja que contenga: -
Crear un nuevo archivo de secuencia de comandos,
example_name.js
y deja que llame a la funcionalidad de la extensión, por ejemplo:chrome.runtime.getBackgroundPage(function(bg) // Relevant function at the background page. In your specific example: bg.clearCache(); );
- Agregue el archivo HTML anterior a
web_accessible_resources
en el archivo de manifiesto. -
Empaque la extensión nuevamente, por ejemplo, usando la GUI en
chrome://extensions
o usandochrome.exe --pack-extension=directorycontainingextension
Después de crear
directorycontainingextension.crx
, cargue este archivo crx en Chrome para conocer el ID de la extensión. Si no sabe cómo cargar el archivo crx en Chrome, simplemente visite https://robwu.nl/crxviewer/, seleccione el archivo crx, abra las herramientas de desarrollo F12 y copie el archivo de 32 caracteres. string en “ID de extensión calculado: [extension ID here]”.(A partir de ChromeDriver 2.11, puede simplemente comprimir la extensión en lugar de empaquetarla como un archivo CRX y codificar el ID de la extensión en el archivo de manifiesto configurando el
"key"
attribute (esta"key"
attribute también se imprime en la consola F12 mediante CRX Viewer).)
Después de modificar la extensión, tendrás una extensión con la misma funcionalidad que la original, más una página HTML adicional. Esta nueva página HTML invocará la funcionalidad de la extensión cuando se abra.
Después de hacer esto, “ejecutar” la extensión es tan fácil como abrir chrome-extension://[EXTENSION ID HERE]/example_name.html
en una nueva pestaña.
Si no le gustan estas nuevas pestañas, también puede usar la chrome.webRequest
o chrome.declarativeWebRequest
API para interceptar URL personalizadas y activar la funcionalidad deseada cada vez que una página solicite este recurso. Luego, puede simplemente poner la URL en un
para activar la funcionalidad de la extensión.
Si posees algún titubeo o capacidad de aclarar nuestro enunciado eres capaz de ejecutar una interpretación y con gusto lo leeremos.