Automatisering
Puppeteer en Playwright, rechtstreeks in uw profielen
Elk geopend profiel heeft zijn eigen debug-adres. Verbind uw eigen code met precies dat profiel: met zijn vingerafdruk, zijn cookies, zijn proxy. Zit in elk abonnement, ook het gratis abonnement.
- 1Zet de lokale interface aan in de app: instellingen, onderdeel ‘Lokale API’. Kopieer de sleutel.
- 2Vraag om een profiel te openen. Het antwoord bevat een adres dat alleen bij dat profiel hoort.
- 3Verbind uw code met dat adres alsof het een gewone browser is.
- 4Werk zoals altijd. Vingerafdruk, cookies en proxy staan al klaar.
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")
Eén ding om te weten vóór u verbindt
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.
Of doe het helemaal zonder code
Zestien soorten stap in een venster: openen, klikken, typen, wachten, lezen, vertakken. Geen waarneembare waarnemers, en niets te installeren.
Bekijk wat de app kan