Puppeteer: En page.emulate(opción), opción. hasTouch no trabajador

Creado en 18 oct. 2017  ·  3Comentarios  ·  Fuente: puppeteer/puppeteer

pasos para reproducir

Cuéntanos sobre tu entorno:

¿Qué pasos reproducirán el problema?

_Incluya código que reproduzca el problema._

  1. preparar la demostración como abajo:
const puppeteer = require('puppeteer');
const devices = require('puppeteer/DeviceDescriptors');
const browser = await puppeteer.launch({headless: false});
  const page = await browser.newPage();
  await page.emulate(devices['iPad landscape']);
  await page.goto(REDIRECT_URL);
  1. interactuar con la página en el cromo

¿Cuál es el resultado esperado?
trabajo de operaciones táctiles

¿Qué sucede en su lugar?
las operaciones táctiles no funcionan

Comentario más útil

Esto debería funcionar.

const devtoolsProtocolClient = await page.target().createCDPSession();
await devtoolsProtocolClient.send("Emulation.setEmitTouchEventsForMouse", { enabled: true });

Todos 3 comentarios

Emular un dispositivo táctil con Puppeteer configura la página para que algo como modernizr detecte la compatibilidad táctil. No convierte los clics del mouse en eventos táctiles. Puede usar page.touchscreen para enviar toques automáticos a la página.

Esto debería funcionar.

const devtoolsProtocolClient = await page.target().createCDPSession();
await devtoolsProtocolClient.send("Emulation.setEmitTouchEventsForMouse", { enabled: true });

@actionnick me funcionó bien, gracias

¿Fue útil esta página
0 / 5 - 0 calificaciones