Skip to content

Feilsøking: Nettleserautomatisering

Chrome / Chromium ikke funnet

Triggerfish bruker puppeteer-core (ikke medfølgende Chromium) og oppdager automatisk Chrome eller Chromium på systemet ditt. Hvis ingen nettleser er funnet, vil nettleseverktøy mislykkes med en oppstartsfeil.

Oppdagelsesbaner per plattform

Linux:

  • /usr/bin/chromium
  • /usr/bin/chromium-browser
  • /usr/bin/google-chrome
  • /usr/bin/google-chrome-stable
  • /snap/bin/chromium
  • /usr/bin/brave
  • /usr/bin/brave-browser
  • Flatpak: com.google.Chrome, org.chromium.Chromium, com.brave.Browser

macOS:

  • /Applications/Google Chrome.app/Contents/MacOS/Google Chrome
  • /Applications/Brave Browser.app/Contents/MacOS/Brave Browser
  • /Applications/Chromium.app/Contents/MacOS/Chromium

Windows:

  • %PROGRAMFILES%\Google\Chrome\Application\chrome.exe
  • %PROGRAMFILES(X86)%\Google\Chrome\Application\chrome.exe
  • %LOCALAPPDATA%\Google\Chrome\Application\chrome.exe

Installere en nettleser

bash
# Debian/Ubuntu
sudo apt install chromium-browser

# Fedora
sudo dnf install chromium

# macOS
brew install --cask google-chrome

# Eller installer Brave, som også oppdages

Manuell baneoverstyring

Hvis nettleseren er installert på et ikke-standard sted, kan du sette banen. Kontakt prosjektet for den eksakte konfigurasjonsnøkkelen (dette settes for øyeblikket via nettleserbehandlerens konfigurasjon).


Oppstartsfeil

«Direct Chrome process launch failed»

Triggerfish starter Chrome i hodeløs modus via Deno.Command. Hvis prosessen feiler å starte:

  1. Binærfilen er ikke kjørbar. Sjekk filtillatelsene.
  2. Manglende delte biblioteker. På minimale Linux-installasjoner (containere, WSL) kan Chrome trenge ytterligere biblioteker:
    bash
    # Debian/Ubuntu
    sudo apt install libnss3 libatk1.0-0 libatk-bridge2.0-0 libcups2 libxcomposite1 libxrandr2 libgbm1 libpango-1.0-0 libcairo2 libasound2
  3. Ingen displayserver. Chrome hodeløs trenger ikke X11/Wayland, men noen Chrome-versjoner prøver fortsatt å laste displayrelaterte biblioteker.

Flatpak Chrome

Hvis Chrome er installert som en Flatpak-pakke, oppretter Triggerfish et innpakningsskript som kaller flatpak run med de aktuelle argumentene.

Flatpak wrapper script file write failed
Flatpak Chrome process launch failed
Flatpak Chrome launch failed

Hvis innpakningsskriptet mislykkes:

  • Sjekk at /usr/bin/flatpak eller /usr/local/bin/flatpak eksisterer
  • Sjekk at Flatpak app-ID er riktig (kjør flatpak list for å se installerte apper)
  • Innpakningsskriptet skrives til en midlertidig katalog. Hvis den midlertidige mappen ikke er skrivbar, mislykkes skrivingen.

CDP-endepunkt ikke klart

Etter oppstart av Chrome poller Triggerfish Chrome DevTools Protocol (CDP)-endepunktet for å etablere en tilkobling. Standard tidsavbrudd er 30 sekunder med 200 ms pollingintervall.

CDP endpoint on port <port> not ready after <timeout>ms

Dette betyr at Chrome startet, men ikke åpnet CDP-porten i tide. Årsaker:

  • Chrome lastes sakte (ressursbegrenset system)
  • En annen Chrome-instans bruker den samme feilsøkingsporten
  • Chrome krasjet under oppstart (sjekk Chromes eget utdata)

«Navigation blocked by domain policy»

Nettleseverktøyene anvender den samme SSRF-beskyttelsen som web_fetch. URL-er som peker til private IP-adresser er blokkert:

Navigation blocked by domain policy: http://192.168.1.1/admin

Dette er tilsiktet sikkerhetsgjennomføring. Nettleseren kan ikke få tilgang til:

  • localhost / 127.0.0.1
  • Private nettverk (10.x.x.x, 172.16-31.x.x, 192.168.x.x)
  • Linklokale adresser (169.254.x.x)

Det er ingen måte å deaktivere denne sjekken på.

«Invalid URL»

URL-en er feilformatert. Nettlesernavigasjon krever en full URL med protokoll:

# Feil
browser_navigate google.com

# Riktig
browser_navigate https://google.com
Navigation failed: Timeout

Siden tok for lang tid å laste. Dette er typisk en treg server eller en side som aldri fullfører lasting (uendelige omdirigeringer, fastkjørt JavaScript).


Sideinteraksjonsproblemer

«Click failed», «Type failed», «Select failed»

Disse feilene inkluderer CSS-selektoren som mislyktes:

Click failed on ".submit-button": Node not found
Type failed on "#email": Node not found

Selektoren samsvarte ikke med noe element på siden. Vanlige årsaker:

  • Siden er ikke ferdig lastet ennå
  • Elementet er inne i en iframe (selektorer krysser ikke iframe-grenser)
  • Selektoren er feil (dynamiske klassenavn, shadow DOM)

«Snapshot failed»

Sideøyeblikksbildet (DOM-ekstraksjon for kontekst) mislyktes. Dette kan skje hvis:

  • Siden har ikke noe innhold (blank side)
  • JavaScript-feil hindrer DOM-tilgang
  • Siden navigerte vekk under øyeblikksbildetaking

«Scroll failed»

Skjer vanligvis på sider med egendefinerte rullebeholdere. Rullekommandoen målretter mot hoveddokumentets visningsport.


Profilisolasjon

Nettleserprofiler er isolert per agent. Hver agent får sin egen Chrome-profilmappe under profilbasismappen. Dette betyr:

  • Innloggingssesjoner deles ikke mellom agenter
  • Informasjonskapsler, lokal lagring og hurtigbuffer er per agent
  • Klassifiseringsbevisste tilgangskontroller forhindrer kryssforurensning

Hvis du ser uventet profilatferd, kan profilmappen være korrupt. Slett den og la Triggerfish opprette en ny ved neste nettleseroppstart.