Automatisation
Puppeteer et Playwright, directement dans vos profils
Chaque profil ouvert a sa propre adresse de débogage. Branchez votre code sur ce profil précis : son empreinte, ses cookies, son proxy. C'est inclus dans toutes les offres, y compris la gratuite.
- 1Activez l'interface locale dans l'application : réglages, rubrique « API locale ». Copiez la clé.
- 2Demandez-lui d'ouvrir un profil. Elle répond par une adresse propre à ce profil.
- 3Branchez votre code sur cette adresse comme sur un navigateur ordinaire.
- 4Travaillez comme d'habitude. L'empreinte, les cookies et le proxy sont déjà en place.
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")
Une chose à savoir avant de vous connecter
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.
Ou faites-le sans écrire une ligne
Seize types d'étape dans une fenêtre : ouvrir, cliquer, saisir, attendre, lire, aiguiller. Aucun observateur détectable, et rien à installer.
Voir ce que fait l'application