DocumentaçãoNavegador e CrawlAgent BrowserConectar com Puppeteer

Puppeteer

O Agent Browser oferece uma plataforma serverless de alto desempenho, projetada para simplificar o processo de extração de dados de sites dinâmicos. Por meio da integração perfeita com o Puppeteer, os desenvolvedores podem executar, gerenciar e monitorar navegadores headless sem precisar de um servidor dedicado, permitindo automação web e coleta de dados eficientes.

Instalando as bibliotecas necessárias

Primeiro, instale o puppeteer-core, uma versão leve do Puppeteer projetada para conectar-se a instâncias de navegador existentes:

npm install puppeteer-core

Escrevendo código para conectar ao Agent Browser

No seu código Puppeteer, conecte-se ao Agent Browser usando o seguinte:

const { Puppeteer } = require('@scrapeless-ai/sdk');
 
(async () => {
    const browser = await Puppeteer.connect({
        apiKey: 'Your API key',
        sessionName: 'sdk_test',
        sessionTTL: 180,
        proxyCountry: 'US',
        sessionRecording: true,
        defaultViewport: null
    });
 
    const page = await browser.newPage();
    await page.goto('https://www.scrapeless.com');
    console.log(await page.title());
    await browser.close();
})();

Isso permite que você aproveite a infraestrutura do Agent Browser, incluindo escalabilidade, rotação de IP e acesso global.

Exemplos práticos

Aqui estão algumas operações comuns do Puppeteer após integrar o Agent Browser:

  1. Navegação e extração de conteúdo da página
const page = await browser.newPage();
await page.goto('https://www.example.com');
console.log(await page.title());
const html = await page.content();
console.log(html);
await browser.close();
 
  1. Capturando screenshots
const page = await browser.newPage();
await page.goto('https://www.example.com');
await page.screenshot({ path: 'example.png' });
console.log('Screenshot saved as example.png');
await browser.close();
 
  1. Executando código personalizado
const page = await browser.newPage();
await page.goto('https://www.example.com');
const result = await page.evaluate(() => document.title);
console.log('Page title:', result);
await browser.close();
 
  1. Simula um clique do mouse.
const { createPuppeteerCDPSession } = require('@scrapeless-ai/sdk');
// ... connect to Agent Browser as shown above
const cdpSession = await createPuppeteerCDPSession(page);
await cdpSession.realClick('button[type="submit"]');
  1. Simula entrada de teclado.
const { createPuppeteerCDPSession } = require('@scrapeless-ai/sdk');
// ... connect to Agent Browser as shown above
const cdpSession = await createPuppeteerCDPSession(page);
await cdpSession.realFill('#login-email', 'scrapeless@gmail.com');
  1. Obter a URL da página atual usando o Scrapeless Agent
const { createPuppeteerCDPSession } = require('@scrapeless-ai/sdk');
// ... connect to Agent Browser as shown above
const cdpSession = await createPuppeteerCDPSession(page);
const { error, liveURL } = await cdpSession.liveURL();
  1. Resolver CAPTCHA de imagem
const { createPuppeteerCDPSession } = require('@scrapeless-ai/sdk');
// ... connect to Agent Browser as shown above
const cdpSession = await createPuppeteerCDPSession(page);
await cdpSession.imageToText({
  imageSelector: '.captcha__image',
  inputSelector: 'input[name="captcha"]',
  timeout: 30000,
});
  1. Desativar a resolução automática de CAPTCHA
const { createPuppeteerCDPSession } = require('@scrapeless-ai/sdk');
// ... connect to Agent Browser as shown above
const cdpSession = await createPuppeteerCDPSession(page);
await cdpSession.disableCaptchaAutoSolve();
  1. Resolver manualmente um CAPTCHA com opções especificadas
const { createPuppeteerCDPSession } = require('@scrapeless-ai/sdk');
// ... connect to Agent Browser as shown above
const cdpSession = await createPuppeteerCDPSession(page);
await cdpSession.solveCaptcha();
  1. Aguardar até que um CAPTCHA seja detectado na página
const { createPuppeteerCDPSession } = require('@scrapeless-ai/sdk');
// ... connect to Agent Browser as shown above
const cdpSession = await createPuppeteerCDPSession(page);
await cdpSession.waitCaptchaDetected({ timeout: 30000 });
  1. Aguardar até que um CAPTCHA seja resolvido (com sucesso ou falha)
const { createPuppeteerCDPSession } = require('@scrapeless-ai/sdk');
// ... connect to Agent Browser as shown above
const cdpSession = await createPuppeteerCDPSession(page);
await cdpSession.waitCaptchaSolved({ timeout: 30000 });