Browserdeelvensters
Open websites naast een terminal, navigeer met native knoppen en houd koppelingen binnen het project.
Zshell kan een ingebouwde browser in elk tabblad of gesplitst deelvenster plaatsen. Dat is handig voor een lokale ontwikkelserver, API-documentatie, een issue of iets anders dat je naast de bijbehorende terminal wilt zien.
Een browser openen
- Kies Archief → Nieuw browsertabblad voor een leeg tabblad.
- Open het opdrachtenpalet (Cmd+P) en voer Nieuw browsertabblad of Nieuw browserdeelvenster uit.
- Command-rechtsklik op een herkende URL in een terminal en kies Nieuw browsertabblad of Nieuw browserdeelvenster om hem te openen zonder het adres te kopiëren.
Browsertabbladen horen bij het geselecteerde project en gebruiken de gewone tabblad- en deelvensterindeling. Als er geen project open is, maakt Zshell er een voor de browser.
Adres en zoeken
Het veld bovenaan accepteert een volledige URL, hostnaam of zoektermen:
zshell.shwordt een HTTPS-adres.localhost, lokale hostnamen, IP-adressen en expliciete poorten gebruiken HTTP.- Alle andere invoer wordt een Google-zoekopdracht.
Gebruik Cmd+L om het veld focus te geven en Cmd+R om te herladen. De werkbalk bevat ook Terug, Vooruit, Stoppen/Herladen, Delen en Openen in standaardbrowser. Trackpadgebaren voor terug en vooruit werken eveneens.
| Actie | Sneltoets |
|---|---|
| Adresbalk focussen | Cmd+L |
| Pagina herladen | Cmd+R |
Koppelingen openen waar jij ze wilt
Klik met de rechtermuisknop op een koppeling op een pagina voor Koppeling openen in nieuw tabblad of Koppeling openen in nieuw deelvenster. De nieuwe pagina blijft binnen dezelfde projectwerkruimte.
In een terminal opent een gewone Command-klik een herkende web-URL in je standaardbrowser. Command-rechtsklik biedt een Zshell-tabblad of -deelvenster aan. Lokale paden hebben een vergelijkbare werkwijze, beschreven onder Paden en URL's.
Wat behouden blijft
Als je van tabblad of project wisselt, blijft de pagina zoals je haar achterliet, inclusief geschiedenis, scrollpositie, formulieren en interne paginastatus. Bij een herstart herstelt Zshell de huidige URL en indeling, maar niet de volledige terug-/vooruitgeschiedenis.
Browserdeelvensters bewaren cookies, aanmeldingen en andere websitegegevens tussen tabbladen en starts. Dit is geen privémodus.
Een agent de pagina laten testen
Vraag je programmeeragent om de pagina die al in dit project openstaat te controleren, een formulier in te vullen, een resultaat na te kijken of het zichtbare deel vast te leggen. De bestaande browsersessie wordt gebruikt en de focus blijft standaard in de terminal. Een lokale ontwikkel-URL kan ook in een browserpaneel op de achtergrond worden geopend.
Voer deze opdrachten voor scripts uit in een Zshell-terminal. Noteer de teruggegeven browser_id en vervang hieronder BROWSER_ID:
zshell +browser list
zshell +browser open http://localhost:3000 --wait
zshell +browser snapshot --browser BROWSER_ID
zshell +browser fill --browser BROWSER_ID --selector '#search' --text 'terminal'
zshell +browser click --browser BROWSER_ID --selector 'button[type="submit"]'
zshell +browser wait --browser BROWSER_ID --selector '#results' --timeout 10000
zshell +browser screenshot --browser BROWSER_ID --output /tmp/zshell-page.pngSnapshots geven tekst van het hoofdframe, toegankelijke labels en elementverwijzingen terug. Verwijzingen verlopen na wijzigingen of acties; maak een nieuwe snapshot voordat je ze opnieuw gebruikt. Een CSS-selector moet precies één element vinden. Gebruik navigate, back, forward, reload en stop voor navigatie.
Automatisering accepteert volledige HTTP/HTTPS-URL’s en about:blank. Andere protocollen, downloads, bestandskiezers en native dialoogvensters vereisen jouw interactie. De beperking eindigt na handmatige navigatie via adres- of werkbalk. Opdrachten blijven binnen het project en venster van de aanroepende terminal. --timeout is 100–30000 milliseconden. Snapshots bevatten maximaal 200 elementen, 32768 teksttekens en 256 KiB, zonder wachtwoord- of bestandswaarden. PNG-opnamen van het zichtbare deel zijn maximaal 512 KiB, werken ook vóór de eerste weergave met een viewport van 1024 × 768 zonder focuswijziging en overschrijven geen bestanden. Verlaag zo nodig --width. Zie zshell +browser --help.
Paginascripts en opgeslagen aanmeldingen
zshell +browser eval --browser BROWSER_ID --script 'Promise.resolve({title: document.title})'
zshell +browser state save --browser BROWSER_ID --output /tmp/zshell-login.json
zshell +browser state load --browser BROWSER_ID --input /tmp/zshell-login.json
zshell +browser reload --browser BROWSER_ID --waiteval --script draait in de echte hoofdpagina, wacht op een teruggegeven Promise en levert JSON in value; undefined wordt null. Gebruik een asynchrone functie-expressie voor await. Grenzen: 64 KiB invoer; 256 KiB, 10000 waarden en 64 niveaus uitvoer. DOM-verwijzingen verlopen daarna. Een time-out stopt alleen het wachten. Controleer de pagina voordat je wijzigingen herhaalt; een synchrone eindeloze lus kan het sluiten van de pagina vereisen. Losse expressies, inclusief IIFE’s, worden als native globale Scripts ingevoegd. Tekenreeksen met meerdere instructies blijven onder de CSP van de pagina vallen; verpak de instructies in een IIFE als tekenreeksevaluatie wordt geblokkeerd.
state save bewaart cookies die gelden voor de doelhost (inclusief bovenliggende domeinen en HttpOnly) en localStorage van de huidige oorsprong als Playwright storage-state JSON. state load voegt cookies samen en vervangt die localStorage; laad daarna opnieuw. Schema, host en poort moeten exact overeenkomen. Vreemde domeinen, publieke suffixen, onbekende velden en ongeldige typen worden vóór wijzigingen geweigerd. Secure-cookies vereisen HTTPS.
Gebruik --format cookies bij beide opdrachten voor Netscape cookies.txt, zonder localStorage en SameSite. Bestanden zijn maximaal 256 KiB en bevatten inloggegevens: houd ze privé en buiten Git. Import vereist een regulier bestand dat alleen de eigenaar kan lezen (zoals 0600); symbolische links worden geweigerd. Export maakt een nieuw privébestand zonder bestaande paden te overschrijven. WebKit-gegevens blijven gedeeld tussen browserpanelen; project-, venster- en navigatiegrenzen blijven gelden.
Advertenties en trackers
Instellingen → Browser schakelt WebKit-blokkering standaard in met EasyList en EasyPrivacy. Schakel lijsten apart uit of voeg één HTTP-/HTTPS-ABP-lijst-URL per regel toe en kies Lijsten toepassen. Maximaal 8 lijsten van elk 8 MiB. HTTP is niet versleuteld.
Regels gelden voor nieuwe verzoeken in alle browserpanelen. Herlaad pagina’s na wijzigingen. Lijsten nu bijwerken forceert een update. Lijsten worden lokaal gecachet; na herstart controleert het openen van de browser lijsten ouder dan vier dagen. Instellingen tonen omgezette/overgeslagen filters, fouten en cachegebruik. Een mislukte lijstwissel hergebruikt niet stilzwijgend een andere uitgeschakelde lijst.
Ondersteunt URL-jokertekens, ankers, gangbare typen, @@-uitzonderingen, eenvoudige domeinen en CSS ##/#@#. Domeinen volgen de hoofdpagina; partijclassificatie volgt WebKit. Scriptlets, procedurele filters, omleidingen, reguliere expressies, volledige paginatoestemming en uitgesloten subdomeinen van ingesloten domeinen worden overgeslagen. Geen volledige uBlock Origin-compatibiliteit.