Tài liệuTrình duyệt và CrawlAgent BrowserKết nối bằng Playwright

Playwright

Agent Browser cung cấp một nền tảng serverless hiệu suất cao được thiết kế để đơn giản hóa quá trình trích xuất dữ liệu từ các website động. Thông qua việc tích hợp liền mạch với Playwright, các nhà phát triển có thể chạy, quản lý và giám sát các trình duyệt headless mà không cần đến tài nguyên máy chủ chuyên dụng, giúp tự động hóa web và thu thập dữ liệu một cách hiệu quả.

Cài đặt các thư viện cần thiết

Trước tiên, hãy cài đặt playwright-core, một phiên bản nhẹ của Playwright được dùng để kết nối tới các phiên bản trình duyệt hiện có:

npm install playwright-core

Viết code để kết nối tới Agent Browser

Trong code Playwright của bạn, hãy kết nối tới Agent Browser bằng cách sau:

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();
})();

Điều này cho phép bạn tận dụng hạ tầng của Agent Browser, bao gồm khả năng mở rộng, xoay vòng IP và truy cập toàn cầu.

Ví dụ thực tế

Dưới đây là một số thao tác Playwright phổ biến sau khi tích hợp Agent Browser:

  1. Điều hướng và trích xuất nội dung trang
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. Chụp ảnh màn hình
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. Chạy code tùy chỉnh
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. Mô phỏng một cú nhấp chuột.
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. Mô phỏng nhập liệu bằng bàn phím.
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. Lấy URL của trang hiện tại bằng 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. Giải CAPTCHA hình ảnh
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. Tắt tính năng tự động giải CAPTCHA
const { createPlaywrightCDPSession } = require('@scrapeless-ai/sdk');
// ... connect to Agent Browser as shown above
const cdpSession = await createPlaywrightCDPSession(page);
await cdpSession.disableCaptchaAutoSolve();
  1. Giải CAPTCHA thủ công với các tùy chọn được chỉ định
const { createPlaywrightCDPSession } = require('@scrapeless-ai/sdk');
// ... connect to Agent Browser as shown above
const cdpSession = await createPlaywrightCDPSession(page);
await cdpSession.solveCaptcha();
  1. Chờ cho đến khi một CAPTCHA được phát hiện trên trang
const { createPlaywrightCDPSession } = require('@scrapeless-ai/sdk');
// ... connect to Agent Browser as shown above
const cdpSession = await createPlaywrightCDPSession(page);
await cdpSession.waitCaptchaDetected({ timeout: 30000 });
  1. Chờ cho đến khi một CAPTCHA được giải (thành công hoặc thất bại)
const { createPlaywrightCDPSession } = require('@scrapeless-ai/sdk');
// ... connect to Agent Browser as shown above
const cdpSession = await createPlaywrightCDPSession(page);
await cdpSession.waitCaptchaSolved({ timeout: 30000 });