Skip to content

Felsökning: Webbläsarautomatisering ​

Chrome / Chromium hittades ej ​

Triggerfish använder puppeteer-core (inte buntad Chromium) och identifierar automatiskt Chrome eller Chromium på ditt system. Om ingen webbläsare hittas misslyckas webbläsarverktyg med ett startfel.

Identifieringssökvägar 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

Installera en webbläsare ​

bash
# Debian/Ubuntu
sudo apt install chromium-browser

# Fedora
sudo dnf install chromium

# macOS
brew install --cask google-chrome

# Eller installera Brave, som också identifieras

Manuell sökvägsåsidosättning ​

Om din webbläsare är installerad på en icke-standardplats kan du ange sökvägen. Kontakta projektet för exakt konfigurationsnyckel (detta ställs för närvarande in via webbläsarhanterarkonfigurationen).


Startfel ​

"Direct Chrome process launch failed" ​

Triggerfish startar Chrome i headless-läge via Deno.Command. Om processen misslyckas att starta:

  1. Binären är inte körbar. Kontrollera filbehörigheter.
  2. Saknade delade bibliotek. På minimala Linux-installationer (containers, WSL) kan Chrome behöva ytterligare bibliotek:
    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 headless behöver inte X11/Wayland, men vissa Chrome-versioner försöker fortfarande ladda displayrelaterade bibliotek.

Flatpak Chrome ​

Om Chrome är installerat som ett Flatpak-paket skapar Triggerfish ett omskriptsskript som anropar flatpak run med lämpliga argument.

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

Om omskriptsskriptet misslyckas:

  • Kontrollera att /usr/bin/flatpak eller /usr/local/bin/flatpak finns
  • Kontrollera att Flatpak-app-ID:t är korrekt (kör flatpak list för att se installerade appar)
  • Omskriptsskriptet skrivs till en temporär katalog. Om tempkatalogen inte är skrivbar misslyckas skrivningen.

CDP-endpoint ej redo ​

Efter att ha startat Chrome söker Triggerfish Chrome DevTools Protocol (CDP)-endpoint för att upprätta en anslutning. Standardtimeout är 30 sekunder med 200 ms pollingsintervall.

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

Det innebär att Chrome startade men inte öppnade CDP-porten i tid. Orsaker:

  • Chrome laddar långsamt (resursbegränsat system)
  • En annan Chrome-instans använder samma felsökningsport
  • Chrome kraschade vid uppstart (kontrollera Chromes egna utdata)

Webbläsarverktygen tillämpar samma SSRF-skydd som web_fetch. URL:er som pekar till privata IP-adresser blockeras:

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

Det är avsiktlig säkerhetstillämpning. Webbläsaren kan inte komma åt:

  • localhost / 127.0.0.1
  • Privata nätverk (10.x.x.x, 172.16-31.x.x, 192.168.x.x)
  • Länk-lokala adresser (169.254.x.x)

Det finns inget sätt att inaktivera den här kontrollen.

"Invalid URL" ​

URL:en är felaktig. Webbläsarnavigering kräver en fullständig URL med protokoll:

# Fel
browser_navigate google.com

# Rätt
browser_navigate https://google.com
Navigation failed: Timeout

Sidan tog för lång tid att läsa in. Det är vanligtvis en långsam server eller en sida som aldrig slutar laddas (oändliga omdirigeringar, blockerad JavaScript).


Sidinteraktionsproblem ​

"Click failed", "Type failed", "Select failed" ​

Dessa fel inkluderar CSS-selektorn som misslyckades:

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

Selektorn matchade inget element på sidan. Vanliga orsaker:

  • Sidan har inte slutat laddas ännu
  • Elementet är inuti en iframe (selektorer korsas inte iframe-gränser)
  • Selektorn är fel (dynamiska klassnamn, shadow DOM)

"Snapshot failed" ​

Sidsnapshot (DOM-extraktion för kontext) misslyckades. Det kan hända om:

  • Sidan saknar innehåll (blank sida)
  • JavaScript-fel förhindrar DOM-åtkomst
  • Sidan navigerade bort under snapshot-hämtning

"Scroll failed" ​

Inträffar vanligtvis på sidor med anpassade scrollcontainers. Scrollkommandot riktar sig mot huvud-dokumentets viewport.


Profilisolering ​

Webbläsarprofiler är isolerade per agent. Varje agent får sin egen Chrome-profilkatalog under profilens baskatalog. Det innebär:

  • Inloggningssessioner delas inte mellan agenter
  • Cookies, lokalt lagringsutrymme och cache är per agent
  • Klassificeringsmedveten åtkomstkontroll förhindrar korsförorening

Om du ser oväntat profilbeteende kan profilkatalogen vara skadad. Ta bort den och låt Triggerfish skapa en ny vid nästa webbläsarstart.