DocumentaciónNavegador y CrawlAgent BrowserConectar con Playwright

Playwright

Agent Browser proporciona una plataforma sin servidores de alto rendimiento diseñada para simplificar el proceso de extracción de datos de sitios web dinámicos. A través de la integración perfecta con Playwright, los desarrolladores pueden ejecutar, gestionar y supervisar navegadores sin cabeza sin necesidad de recursos de servidor dedicados, lo que permite automatización web y recolección de datos eficientes.

Instalación de las bibliotecas necesarias

Primero, instale playwright-core, una versión ligera de Playwright utilizada para conectarse a instancias de navegador existentes:

npm install playwright-core

Escritura de código para conectarse a Agent Browser

En su código de Playwright, conéctese a Agent Browser utilizando lo siguiente:

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

Esto le permite aprovechar la infraestructura de Agent Browser, incluyendo escalabilidad, rotación de IP y acceso global.

Ejemplos prácticos

A continuación se muestran algunas operaciones comunes de Playwright tras integrar Agent Browser:

  1. Navegación y extracción de contenido de 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. Captura de pantallas
const context = browser.contexts()[0];
const page = await context.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. Ejecución de código personalizado
const context = browser.contexts()[0];
const page = await context.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 un clic de ratón.
const { createPlaywrightCDPSession } = require('@scrapeless-ai/sdk');
// ... connect to Agent Browser as shown above
const cdpSession = await createPlaywrightCDPSession(page);
await cdpSession.realClick('button[type="submit"]');
  1. Simular entrada de teclado.
const { createPlaywrightCDPSession } = require('@scrapeless-ai/sdk');
// ... connect to Agent Browser as shown above
const cdpSession = await createPlaywrightCDPSession(page);
await cdpSession.realFill('#login-email', 'scrapeless@gmail.com');
  1. Obtener la URL actual de la página usando Scrapeless Agent
const { createPlaywrightCDPSession } = require('@scrapeless-ai/sdk');
// ... connect to Agent Browser as shown above
const cdpSession = await createPlaywrightCDPSession(page);
const { error, liveURL } = await cdpSession.liveURL();
  1. Resolver CAPTCHA de imagen
const { createPlaywrightCDPSession } = require('@scrapeless-ai/sdk');
// ... connect to Agent Browser as shown above
const cdpSession = await createPlaywrightCDPSession(page);
await cdpSession.imageToText({
  imageSelector: '.captcha__image',
  inputSelector: 'input[name="captcha"]',
  timeout: 30000,
});
  1. Deshabilitar la resolución automática de CAPTCHA
const { createPlaywrightCDPSession } = require('@scrapeless-ai/sdk');
// ... connect to Agent Browser as shown above
const cdpSession = await createPlaywrightCDPSession(page);
await cdpSession.disableCaptchaAutoSolve();
  1. Resolver manualmente un CAPTCHA con opciones especificadas
const { createPlaywrightCDPSession } = require('@scrapeless-ai/sdk');
// ... connect to Agent Browser as shown above
const cdpSession = await createPlaywrightCDPSession(page);
await cdpSession.solveCaptcha();
  1. Esperar a que se detecte un CAPTCHA en la página
const { createPlaywrightCDPSession } = require('@scrapeless-ai/sdk');
// ... connect to Agent Browser as shown above
const cdpSession = await createPlaywrightCDPSession(page);
await cdpSession.waitCaptchaDetected({ timeout: 30000 });
  1. Esperar a que se resuelva un CAPTCHA (ya sea con éxito o fallido)
const { createPlaywrightCDPSession } = require('@scrapeless-ai/sdk');
// ... connect to Agent Browser as shown above
const cdpSession = await createPlaywrightCDPSession(page);
await cdpSession.waitCaptchaSolved({ timeout: 30000 });