Estoy usando el complemento Puppeteer Stealth y puedo hacer todos los clics en un sitio web sin ser detectado, excepto uno en el que puse un artículo en el carrito. En este botón a veces me detectan con tristeza. Se trata de cada dos veces, pero necesito que el bot funcione siempre.
¿Hay alguna forma diferente de hacer clic en un elemento y luego usar la operación page.click? Pude hacer clic en el botón en Selenium Undetected-chromedriver (tiene problemas en otros lugares, por lo que no puedo usarlo) pero no en el titiritero. El clic se realiza, pero el artículo no está en el carrito y el sitio dice "su cliente ha sido bloqueado por la protección contra bots".
¡Gracias por sus ideas sobre diferentes formas de hacer clic que no son detectables!
while(true){ try { await page.waitForTimeout(200) await page.waitForSelector('.nbb-btn.btn_full.js-pdp-head-add-to-cart:not([disabled])', {timeout: ((Math.floor(Math.random() * 12) + 5) * 200)}) page.click('.nbb-btn.btn_full.js-pdp-head-add-to-cart:not([disabled])') break }Recientemente me encontré con algo similar (aunque el mensaje de error no mencionaba explícitamente que el titiritero era un bot detectado).
Intenté agregar llamadas page.waitForTimeout() para tratar de emular una navegación de página más humana sin éxito.
Eventualmente encontré este paquete de cursor fantasma de titiritero que simula movimientos de mouse similares a los humanos.
Simplemente seguí las instrucciones Léame para crear un cursor para la página y luego usé await cursor.click(#signUp-button) (o cualquier elemento en el que desee hacer clic).