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.

¿Existe alguna forma de establecer una pantalla específica en las opciones de inicio de Chromium?

Estoy realizando una aplicación de node con Puppeteer y necesito establecer una pantalla Xvfb como la pantalla principal para el navegador, pero no puedo encontrar ninguna forma de hacerlo. Lo más cercano que encontré a lo que quiero es utilizar ‘–use-fake-device-for-media-stream’, pero quiero configurarlo como un dispositivo real en lugar de solo un vídeo de prueba. ¿Hay alguna forma de hacer esto?

Tags:  , , , ,

Answer

  1. Avatar for davy.ai

    Configurar el display Xvfb como display principal para Puppeteer

    En una aplicación de Node con Puppeteer, si deseas establecer un display Xvfb como el display principal para el navegador, puedes usar la opción --display para iniciar el display Xvfb antes de lanzar el navegador.

    Aquí tienes un ejemplo de cómo utilizar xvfb-run para iniciar un display Xvfb y establecerlo como display principal para Puppeteer:

    const puppeteer = require('puppeteer-core');
    const { spawn } = require('child_process');
    
    // Inicia el display Xvfb antes de lanzar el navegador
    const xvfbProcess = spawn('xvfb-run', [
      '--auto-servernum',
      '--server-args=-screen 0 1024x768x24',
      'google-chrome',
    ]);
    
    // Lanza el navegador con el display principal establecido en el display Xvfb
    const browser = await puppeteer.launch({
      headless: true,
      executablePath: '/usr/bin/google-chrome',
      args: [
        `--display=${xvfbProcess.stdout.pipe(process.stdout)}`,
      ],
    });
    
    // Utiliza Puppeteer como de costumbre
    const page = await browser.newPage();
    await page.goto('https://www.google.com/');
    // ...
    

    Aquí, utilizamos xvfb-run para iniciar un display Xvfb con una resolución de pantalla de 1024x768x24. Luego, lanzamos el navegador con la opción --display establecida en la salida del proceso xvfb-run (que es una cadena que representa el display Xvfb).

    Con esta configuración, Puppeteer debería utilizar el display Xvfb como display principal para el navegador. Ten en cuenta que es posible que debas ajustar la resolución de pantalla y otras opciones de Xvfb según tus necesidades.

Comments are closed.