Saltar al contenido

Ejecutar una extensión de Chrome desde Selenium WebDriver

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.

  1. 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).
  2. Descomprima el archivo zip.
  3. Crear un nuevo archivo HTML, example_name.htmly deja que contenga:

    
    
  4. Crear un nuevo archivo de secuencia de comandos, example_name.jsy 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();
    );
    
  5. Agregue el archivo HTML anterior a web_accessible_resources en el archivo de manifiesto.
  6. Empaque la extensión nuevamente, por ejemplo, usando la GUI en chrome://extensions o usando

    chrome.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.

¡Haz clic para puntuar esta entrada!
(Votos: 2 Promedio: 4)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *