Estoy tratando de realizar un desplazamiento controlado en el feed de inicio de un sitio web de carga diferida (similar a LinkedIn.com). Pero dramaturgo no admite el desplazamiento automático. Así que he usado los siguientes métodos:
await page.locator('button:has-text("Show more results")').click(); El problema en este método es que el clic se repite en un ciclo sin fin y se agota después de los 30 segundos predeterminados. Si configuro el tiempo de timeout:0 , entonces no se agota el tiempo, continúa en un ciclo infinito.
waitForSelectoras se muestra a continuación: for (let i = 0; i < 20; i++) { let loadMore = await page.waitForSelector(('button:has-text("Show more results")'); await loadMore.click({delay: 1000, timeout: 0}); } Lanza Element is not attached to DOM . Regístrese como se muestra a continuación:
elementHandle.click: Element is not attached to the DOM =========================== logs =========================== attempting click action waiting for element to be visible, enabled and stable element is visible, enabled and stable scrolling into view if needed done scrolling performing click action <html lang="en" class="theme theme--mercado artdeco os…>…</html> intercepts pointer events retrying click action, attempt #1 waiting for element to be visible, enabled and stable ============================================================La única manera posible que podría ver el trabajo es:
for (let i = 0; i < 20; i++) { await page.keyboard.down('PageDown'); }Cualquier sugerencia sobre un desplazamiento mejor controlado con la biblioteca Playwright sería útil :) Gracias.