Lewati ke konten

Otomasi

Puppeteer dan Playwright, langsung ke profil Anda

Setiap profil yang terbuka punya alamat debug sendiri. Sambungkan kode Anda tepat ke profil itu: dengan sidik jarinya, cookie-nya, proxy-nya. Ada di semua paket, termasuk yang gratis.

  1. 1Nyalakan antarmuka lokal di aplikasi: pengaturan, bagian «API lokal». Salin kuncinya.
  2. 2Minta untuk membuka sebuah profil. Jawabannya berisi alamat milik profil itu saja.
  3. 3Sambungkan kode Anda ke alamat itu seperti ke peramban biasa.
  4. 4Bekerjalah seperti biasa. Sidik jari, cookie, dan proxy sudah pada tempatnya.

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")

Satu hal yang perlu diketahui sebelum menyambung

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.

Atau lakukan tanpa kode sama sekali

Enam belas jenis langkah di sebuah jendela: buka, klik, ketik, tunggu, baca, bercabang. Tanpa pengamat yang bisa terdeteksi, dan tidak ada yang perlu dipasang.

Lihat apa yang bisa dilakukan aplikasi