Перейти до вмісту

Автоматизація

Puppeteer і Playwright, просто у ваші профілі

У кожного відкритого профілю своя адреса налагодження. Підключайте свій код саме до цього профілю: з його відбитком, його куками, його проксі. Входить у кожен тариф, зокрема безкоштовний.

  1. 1Увімкніть локальний інтерфейс у програмі: налаштування, розділ «Локальний API». Скопіюйте ключ.
  2. 2Попросіть відкрити профіль. У відповідь прийде адреса, що належить лише йому.
  3. 3Підключіть свій код до цієї адреси як до звичайного браузера.
  4. 4Працюйте як завжди. Відбиток, куки та проксі вже на місці.

JavaScript (puppeteer-core)

const puppeteer = require('puppeteer-core');

(async () => {
  // 1. Ask the app for this profile's debugging endpoint.
  const started = await fetch(
    'http://127.0.0.1:50325/api/v1/browser/start?profileId=YOUR_PROFILE_ID',
    { method: 'POST', headers: { 'x-api-token': 'YOUR_API_TOKEN' } },
  ).then((r) => r.json());

  // 2. Attach to it like to any other browser.
  const browser = await puppeteer.connect({
    browserWSEndpoint: started.data.ws,
    defaultViewport: null,
  });

  const [page] = await browser.pages();
  await page.goto('https://example.com');
})();

Python (Playwright)

import requests
from playwright.sync_api import sync_playwright

# 1. Ask the app for this profile's debugging endpoint.
started = requests.post(
    "http://127.0.0.1:50325/api/v1/browser/start",
    params={"profileId": "YOUR_PROFILE_ID"},
    headers={"x-api-token": "YOUR_API_TOKEN"},
).json()

# 2. Attach to it like to any other browser.
with sync_playwright() as p:
    browser = p.chromium.connect_over_cdp(started["data"]["ws"])
    page = browser.contexts[0].pages[0]
    page.goto("https://example.com")

Що важливо знати до підключення

Puppeteer and Playwright turn on Runtime.enable and Page.enable the moment they attach. Runtime.enable puts observers inside Chromium that page scripts can notice. Our own automation builder never turns it on. It turns on Page.enable only while a flow runs, on the tabs the flow uses, so it can answer a page's alert or confirm; a test page that looks for traces saw nothing from it on either engine. If the site you work with checks for this, build the sequence in the app instead.

Або зберіть узагалі без коду

Шістнадцять видів кроків у вікні: відкрити, натиснути, ввести, зачекати, прочитати, розгалузити. Жодних помітних спостерігачів і нічого не треба ставити.

Подивитися, що вміє програма