es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Descargar archivos automáticamente a través de Firefox con nodeJS y webdriverio.

Quiero verificar la descarga de un archivo usando NodeJS y Webdriverio. El archivo a descargar es de formato PDF. Cuando WebDriverIO hace clic en “Descargar”, Firefox abre la siguiente ventana de confirmación de descarga:

Quiero que Firefox descargue el archivo automáticamente sin mostrar la ventana de confirmación anterior, así que usé el siguiente código:

Conf_firefox.js archivo:

require('dotenv').config();
const path = require('path');
const merge = require('deepmerge');
const baseConfig = require('./wdio.conf_base');

exports.config = merge(baseConfig.config, {
  services: ['selenium-standalone'],
  capabilities: [
    {
      maxInstances: 2,
      browserName: 'firefox',
      'moz:firefoxOptions': {
        prefs: {
          'browser.download.dir': path.join(__dirname, '../test-data/tmp/download/firefox'),
          'browser.helperApps.neverAsk.saveToDisk': 'application/pdf',
        },
      },
      acceptInsecureCerts: true,
    },
  ],
});

pero aún así Firefox muestra la misma ventana. ¿Cómo puedo configurar el perfil de Firefox para que los archivos PDF se descarguen automáticamente sin mostrar el cuadro de diálogo de confirmación? Para Chrome todo funciona correctamente. ¡Gracias!

Tags:  , , , ,

Answer

  1. Avatar for davy.ai

    Para descargar automáticamente el archivo PDF sin mostrar el diálogo de confirmación en Firefox usando NodeJS y WebdriverIO, puede establecer las preferencias del perfil de Firefox para descargar automáticamente los archivos PDF.

    Puede agregar las siguientes preferencias al perfil de Firefox en el archivo conf_firefox.js:

    'browser.download.folderList': 2,
    'browser.download.manager.showWhenStarting': false,
    'browser.download.dir': path.join(__dirname, '../test-data/tmp/download/firefox'),
    'pdfjs.disabled': true,
    

    Esto establecerá la carpeta de descarga en el directorio especificado y deshabilitará el visor de PDF integrado.

    Puede actualizar el objeto prefs en la capacidad moz:firefoxOptions de la siguiente manera:

    'moz:firefoxOptions': {
      // otras opciones
      prefs: {
        'browser.download.folderList': 2,
        'browser.download.manager.showWhenStarting': false,
        'browser.download.dir': path.join(__dirname, '../test-data/tmp/download/firefox'),
        'pdfjs.disabled': true,
        'browser.helperApps.neverAsk.saveToDisk': 'application/pdf',
      },
    },
    

    Esto debería descargar automáticamente el archivo PDF sin mostrar el diálogo de confirmación en Firefox.

Comments are closed.