Zum Inhalt springen

System und Automatisierung

Diese Seite fasst APIs zusammen, die nicht nur eine einzelne Seite steuern, sondern Arbeitsbereichsautomatisierung, Worker, Ereignisse und Netzwerkzustand betreffen.

g.workers.* startet und steuert Worker-Pools, die Queue-Items parallel in Browser-Tabs verarbeiten.

MethodeZweck
g.workers.start(config)Worker-Pools starten
g.workers.stop(queue?)Alle oder ausgewählte Worker stoppen
g.workers.pause()Entnahmen pausieren
g.workers.resume()Entnahmen fortsetzen
g.workers.status()Pool-Zustand lesen
g.workers.start({
clearTabs: true,
layout: "quad",
workers: [
{
queue: "pages",
script: "scripts/scrape-page.js",
concurrency: 4
}
]
});

Siehe Warteschlangen-Worker für Betrieb, Fehlerverhalten und Workflow-Umschläge.

Worker- und Review-Skripte lesen ihr aktuelles Queue-Item über g.worker.getContext().

// @require-context
async function main() {
const ctx = g.worker.getContext();
const { item, tabId } = ctx;
await g.nav.navigateToUrl(item.data.url, { browserTabId: tabId });
await g.dom.waitForDomStable({ browserTabId: tabId });
g.queue.commit(item.checkoutId);
}

Setzen Sie // @require-context, damit ein Skript außerhalb eines Worker- oder Review-Kontexts sofort mit einer klaren Meldung fehlschlägt.

g.workflows.* listet, prüft und wechselt Workflows im aktuellen Arbeitsbereich.

const workflows = g.workflows.list();
for (const workflow of workflows) {
g.log(workflow.name);
}
g.workflows.switch("careers-crawl");

Workflow-Wechsel aktivieren workflow-spezifische Trigger, Worker, Werkzeuge und Ansichten. Details stehen unter Workflows.

Skripte, die durch events.json gestartet werden, können Kontext über g.trigger.getContext() lesen:

async function main() {
const ctx = g.trigger.getContext();
g.log("Event: " + ctx.event);
g.log("URL: " + ctx.url);
}

Typische Trigger sind url-match, page-loaded, tab-created, tab-closed, tab-activated, dom-mutation und external-queue.

Guida kann Netzwerkverkehr beobachten und daraus in Skripten oder Panels lesen. Das ist nützlich, wenn eine Seite Daten über JSON-Endpunkte lädt oder wenn eine Automatisierung auf eine bestimmte Anfrage warten muss.

MethodeZweck
g.network.search(options?)Erfasste Netzwerkereignisse durchsuchen
g.network.getById(id)Detail zu einer Anfrage lesen
g.network.getResponseBody(id)Antwortbody lesen, wenn verfügbar
g.network.waitForRequest(pattern, options?)Auf passende Anfrage warten

g.intercept.* steuert das Pausieren, Blockieren, Mocken und Skripten von HTTP-Anfragen. Es ist die programmatische Entsprechung zum HTTP-Interception-Panel.

g.intercept.enable();
g.intercept.addRule("https://tracking.example.com/*", { action: "block" });
await g.nav.navigateToUrl("https://example.com");
g.intercept.clearRules();
g.intercept.disable();

Laufende Skripte, Worker und MCP-Aufrufe erscheinen im Task-Manager. Für externe schreibgeschützte Beobachtung verwenden Sie die Betriebsdashboard-API. Für explizite Remote-Steuerung verwenden Sie Remote Ops.