Je wilt dat een script inlogt op een portaal, drie formulieren doorloopt en de uitkomst terugkoppelt. In Playwright schrijf je daarvoor selectors die breken zodra de site een knop verplaatst. Browser Use draait dat om: je beschrijft de taak, en de agent zoekt zelf uit welke knop hij moet hebben. Hieronder in vijf stappen van niets naar een draaiende agent.
Stap 1: omgeving klaarzetten
Browser Use is een Python-library. De documentatie gaat uit van uv als pakketbeheerder en Python 3.12:
pip install uv
uv venv --python 3.12
source .venv/bin/activate # Windows: .venv\Scripts\activate
Stap 2: library en browser installeren
Twee commando’s: de library zelf, en de browser waarmee de agent straks werkt.
uv pip install browser-use
uvx browser-use install
Dat tweede commando haalt de Chromium binnen die Browser Use aanstuurt (Bron: Browser Use docs). Sla het niet over — zonder browser stopt je eerste run met een foutmelding die niet meteen duidelijk maakt wat er mist.
Stap 3: een model kiezen en de sleutel opslaan
Browser Use is niet aan één provider gebonden. Je maakt een .env-bestand in je projectmap en zet daar de sleutel in van het model dat je wilt gebruiken:
BROWSER_USE_API_KEY=... # of GOOGLE_API_KEY / OPENAI_API_KEY / ANTHROPIC_API_KEY
De makers raden hun eigen ChatBrowserUse aan, dat op browsertaken is afgesteld en volgens hen drie tot vijf keer sneller klaar is. Nieuwe accounts krijgen 15 dollar aan eenmalige credits.
💡 Beginner-tip: Heb je al een Gemini-sleutel liggen? Begin daarmee. Je wisselt later van model door één importregel en één modelnaam te veranderen — de rest van je script blijft letterlijk hetzelfde. Dat maakt uitproberen goedkoop.
Stap 4: je eerste agent draaien
Dit is de complete eerste taak. Meer is het niet.
from browser_use import Agent, ChatBrowserUse
from dotenv import load_dotenv
import asyncio
load_dotenv()
async def main():
llm = ChatBrowserUse()
task = "Find the number 1 post on Show HN"
agent = Agent(task=task, llm=llm)
await agent.run()
if __name__ == "__main__":
asyncio.run(main())
Vervang task door je eigen opdracht en houd hem concreet: één doel, één eindresultaat. “Zoek op deze pagina de contactgegevens en geef ze terug als lijst” werkt beter dan “verzamel wat informatie”.
Stap 5: naar productie, mét inloggegevens
Zodra een taak achter een login zit, wordt sessiebeheer het echte werk. Browser Use lost dat op met sandboxes: je hangt een decorator boven je functie en de dienst regelt browser, cookies en authenticatie.
from browser_use import Browser, sandbox, ChatBrowserUse
from browser_use.agent.service import Agent
@sandbox(cloud_profile_id='jouw-profile-id')
async def production_task(browser: Browser):
agent = Agent(task="Jouw taak achter een login", browser=browser, llm=ChatBrowserUse())
await agent.run()
⚡ Gevorderden: Reken vóór je opschaalt even door wat een run kost. Elke stap van de agent is een modelaanroep, dus een taak van twintig klikken is twintig keer betalen. Draait dezelfde taak elke dag op dezelfde stabiele site, dan is een klassiek Playwright-script goedkoper — precies de afweging die we maakten in Zo test je een signupflow met Claude Code en Playwright.
Checklist: ben je klaar?
- Virtuele omgeving actief met Python 3.12
-
uv pip install browser-usegedraaid -
uvx browser-use installgedraaid (de browser staat er) -
.envin de projectmap met één geldige API-sleutel - Eerste script draait en de browser opent zichtbaar
- Taakomschrijving is één concreet doel, geen vage opdracht
- Ingeschat wat een run aan tokens kost vóór je hem inplant
- Voor taken achter een login: sandbox-route bekeken
Wil je eerst begrijpen wat een agent nu eigenlijk is voordat je er een bouwt, dan is AI-agents in 2026: wat zijn ze precies? op hetlaatsteainieuws.nl een goede opstap. En wie liever met een eigen loop begint in plaats van een library: Je eerste agent-loop met Claude Code. Laat je zo’n agent formulieren invullen, bouw er dan een goedkeurstap in: HumanInTheLoopMiddleware in LangChain. Zoek je iets lichters voor onderzoek in plaats van automatisering: Comet vergelijkt je open tabbladen.
Stand van zaken — bijgewerkt 2026-08-30
- Installatie via
uv pip install browser-use+uvx browser-use install, Python 3.12 in de docs. - Ondersteunde model-klassen:
ChatBrowserUse,ChatGoogle,ChatOpenAI,ChatAnthropic, plus lokale modellen. - Nieuwe accounts: 15 dollar aan eenmalige credits voor ChatBrowserUse.
- Library-licentie: MIT, gratis. Browser Use Cloud (sandboxes, proxies) is betaald.
