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.

Cómo hacer clic en Hcaptcha usando puppeteer-extra.

Estoy usando puppeteer-extra e intentando hacer clic en recaptcha y no puedo encontrar una solución durante dos días en Google. He probado más de una forma y no ha funcionado. Quiero que haga clic en la casilla de verificación automáticamente utilizando puppeteer.

Mi problema no está en resolver el captcha, mi problema está en hacer clic en su casilla de verificación.

Estoy intentando hacer clic en el botón de casilla de verificación pero no puedo

Este es el selector de iframe:
#app-mount > div.app-1q1i1E > div > div > div > section > div > div.flexCenter-3_1bcw.flex-1O1GKY.justifyCenter-3D2jYp.alignCenter-1dQNNs > div > iframe
Este es el iframe:
<iframe src="https://newassets.hcaptcha.com/captcha/v1/f9bf301/static/hcaptcha-checkbox.html#id=29x2xvbwuudm&amp;host=discord.com&amp;sentry=true&amp;reportapi=https%3A%2F%2Faccounts.hcaptcha.com&amp;recaptchacompat=true&amp;custom=false&amp;hl=en&amp;tplinks=on&amp;sitekey=f5561ba9-8f1e-40ca-9b5b-a0b3f719ef34&amp;theme=dark;" title="widget containing checkbox for hCaptcha security challenge" tabindex="0" frameborder="0" scrolling="no" data-hcaptcha-widget-id="29x2xvbwuudm" data-hcaptcha-response="" style="width: 303px; height: 78px; overflow: hidden;"></iframe>
--------
Este es el checkbox:
<div id="checkbox" aria-haspopup="true" aria-checked="false" role="checkbox" tabindex="0" aria-live="assertive" aria-labelledby="a11y-label" style="position: absolute; width: 28px; height: 28px; border-width: 1px; border-style: solid; border-color: rgb(245, 245, 245); border-radius: 4px; background-color: rgb(250, 250, 250); top: 0px; left: 0px;"></div>

await page.waitForFunction(`#app-mount > div.app-1q1i1E > div > div > div > section > div > div.flexCenter-3_1bcw.flex-1O1GKY.justifyCenter-3D2jYp.alignCenter-1dQNNs > div > iframe`);

await page.click(`#checkbox`);
Tags:  , , , ,

Answer

  1. Avatar for davy.ai

    Parece que el usuario está teniendo problemas para hacer clic en la casilla de verificación del desafío de seguridad hCaptcha utilizando puppeteer-extra. Han intentado de varias formas pero no han encontrado una solución durante dos días. Se han proporcionado los selectores de iframe y casilla de verificación en el fragmento de código. El problema no está en resolver el captcha, sino en hacer clic en su casilla de verificación.

    Para resolver este problema, el usuario puede intentar utilizar el método page.frames() para acceder al iframe y luego utilizar los métodos page.waitForSelector() y page.click() para hacer clic en la casilla de verificación. Aquí hay un ejemplo de fragmento de código:

    const puppeteer = require('puppeteer-extra');
    const StealthPlugin = require('puppeteer-extra-plugin-stealth');
    puppeteer.use(StealthPlugin());
    
    (async () => {
      const browser = await puppeteer.launch({ headless: false });
      const page = await browser.newPage();
    
      await page.goto('https://example.com');
    
      const frames = await page.frames();
      const hCaptchaFrame = frames.find(frame => frame.url().includes('hcaptcha'));
    
      await hCaptchaFrame.waitForSelector('#checkbox');
      await hCaptchaFrame.click('#checkbox');
    
      await browser.close();
    })();
    

    Ten en cuenta que esto es solo un ejemplo y puede que no funcione en cada situación. El usuario puede necesitar ajustar los selectores o el proceso de autenticación según el sitio web específico y el captcha que se esté utilizando.

Comments are closed.