Bayangkan punya asisten digital yang bisa membuka browser, mengetik di kolom pencarian, mengklik tombol, mengisi formulir, dan mengumpulkan data dari situs web — semuanya hanya dari satu kalimat perintah. Itulah yang ditawarkan Browser Use, library Python open-source yang sedang viral di GitHub dengan lebih dari 110 ribu bintang. Dalam tutorial ini kamu akan belajar membangun AI agent browser dari nol, mulai dari instalasi sampai menjalankan tugas otomatisasi nyata.

Apa Itu Browser Use dan Kenapa Kamu Perlu Mencobanya?

Browser Use adalah framework open-source yang membuat situs web "dapat diakses" oleh AI agent. Alih-alih menulis scraper manual dengan BeautifulSoup atau Selenium, kamu cukup mendeskripsikan tugas dalam bahasa alami — misalnya "cari harga iPhone di Tokopedia dan ambil yang termurah" — lalu agent akan membuka browser, menavigasi halaman, mengklik, mengisi input, dan mengembalikan hasilnya.

Kenapa tool ini layak kamu pelajari sekarang? Pertama, pertumbuhannya luar biasa: repository browser-use/browser-use sudah melampaui 110 ribu bintang dan menjadi salah satu repo Python paling cepat berkembang. Kedua, ia menduduki peringkat #1 di benchmark Odysseys dengan akurasi rata-rata 87,4%, mengungguli agen computer-use dari OpenAI, Anthropic, Google, dan Microsoft. Ketiga, ia model-agnostic — kamu bisa memakai GPT, Claude, Gemini, atau bahkan model lokal lewat Ollama.

Prasyarat

Sebelum mulai, pastikan kamu sudah menyiapkan hal-hal berikut:

  • Python 3.11 atau lebih baru (cek dengan python --version).
  • API key dari penyedia LLM, misalnya OpenAI, Anthropic, atau Google Gemini.
  • Koneksi internet yang stabil (agent akan mengakses situs web secara langsung).
  • Opsional: uv sebagai package manager yang jauh lebih cepat dari pip.
Langkah 1: Install Browser Use dan Playwright

Buat folder proyek baru, lalu install Browser Use. Sebaiknya pakai virtual environment agar dependensi tidak bentrok dengan proyek lain.

bash
# Buat dan aktifkan virtual environment
python -m venv .venv
source .venv/bin/activate   # Windows: .venv\Scripts\activate

# Install Browser Use
pip install browser-use

# Install browser Chromium yang dipakai untuk otomatisasi
playwright install chromium

Library ini memakai Playwright di balik layar untuk mengendalikan browser Chromium secara headless. Perintah playwright install chromium mengunduh binary browser satu kali saja dan hanya perlu diulang ketika kamu mengganti versi Playwright.

Langkah 2: Simpan API Key LLM

Browser Use butuh LLM untuk "berpikir" — memutuskan elemen mana yang harus diklik atau diisi. Simpan API key-mu di file .env agar tidak tertulis langsung di kode:

bash
# .env
ANTHROPIC_API_KEY=sk-ant-xxxxxxxx
# atau pakai OpenAI:
# OPENAI_API_KEY=sk-xxxxxxxx
# atau Gemini:
# GOOGLE_API_KEY=xxxxxxxx

Jangan pernah men-commit file .env ke GitHub. Tambahkan .env ke .gitignore agar API key-mu tidak bocor ke publik dan disalahgunakan orang lain.

Langkah 3: Menulis AI Agent Pertamamu

Sekarang tulis script Python pertamamu. Tugas paling sederhana: minta agent mencari jumlah bintang (stars) repository browser-use di GitHub.

python
import asyncio
from browser_use import Agent, ChatOpenAI


async def main():
    agent = Agent(
        task="Buka https://github.com/browser-use/browser-use dan cari jumlah bintangnya",
        llm=ChatOpenAI(model="gpt-4o"),
    )
    result = await agent.run()
    print(result)


if __name__ == "__main__":
    asyncio.run(main())

Penjelasan singkat: Agent menerima task berupa instruksi bahasa alami dan llm berupa model yang dipakai untuk mengambil keputusan di setiap langkah. Saat dijalankan, agent akan membuka jendela browser, menavigasi ke GitHub, membaca angka bintang, lalu mengembalikan hasilnya. Ganti gpt-4o dengan model terbaru yang tersedia di akunmu (misalnya gpt-5.5 atau claude-opus-4-8).

Langkah 4: Mengambil Hasil dan Riwayat Agent

Sering kali kamu ingin mengakses hasil akhir secara terstruktur, bukan sekadar mencetak output. Object history yang dikembalikan agent.run() menyimpan semuanya:

python
import asyncio
from browser_use import Agent, ChatOpenAI


async def main():
    agent = Agent(
        task=(
            "Buka https://github.com/browser-use/browser-use, "
            "cari jumlah bintangnya, lalu kembalikan angkanya."
        ),
        llm=ChatOpenAI(model="gpt-4o"),
    )
    history = await agent.run()

    print("Hasil akhir   :", history.final_result())
    print("URL dikunjungi:", history.urls())
    print("Aksi dilakukan:", history.action_names())

    # Simpan seluruh riwayat (termasuk screenshot) ke file JSON
    history.save_to_file("agent_history.json")


if __name__ == "__main__":
    asyncio.run(main())

Beberapa method penting di object riwayat (AgentHistoryList): final_result() untuk hasil akhir, urls() untuk daftar URL yang dikunjungi, action_names() untuk daftar aksi (klik, ketik, scroll, dan seterusnya), serta save_to_file() untuk mengekspor riwayat lengkap termasuk screenshot tiap langkah.

Langkah 5: Otomatisasi Nyata — Mengisi Form dan Mengekstrak Data

Kekuatan sebenarnya Browser Use terlihat pada tugas multi-langkah. Contoh berikut meminta agent membuka form latihan, mengisi beberapa kolom, mengirimnya, lalu mengambil hasil yang muncul:

python
import asyncio
from browser_use import Agent, ChatOpenAI


async def main():
    agent = Agent(
        task=(
            "Buka https://demoqa.com/automation-practice-form, "
            "isi First Name 'Budi' dan Last Name 'Santoso', "
            "Email 'budi@example.com', pilih Gender Male, "
            "isi Mobile '0812345678', lalu klik tombol Submit. "
            "Setelah modal hasil muncul, tuliskan isi data yang ditampilkan."
        ),
        llm=ChatOpenAI(model="gpt-4o"),
    )
    history = await agent.run()
    print(history.final_result())


if __name__ == "__main__":
    asyncio.run(main())

Agent akan secara mandiri menemukan elemen form, mengetikkan data ke kolom yang tepat, memilih radio button, mengklik tombol submit, lalu membaca hasilnya. Kamu tidak perlu menulis satu pun selector CSS atau XPath — seluruh logika navigasi ditangani oleh LLM.

Langkah 6: Menggunakan Model Lokal dengan Ollama (Gratis)

Tidak punya kredit API? Browser Use juga mendukung model lokal lewat Ollama. Install Ollama, tarik model, lalu pakai ChatOllama:

bash
# Install Ollama lalu tarik model
ollama pull llama3.1
python
import asyncio
from browser_use import Agent, ChatOllama


async def main():
    agent = Agent(
        task="Buka https://example.com dan tuliskan judul halamannya",
        llm=ChatOllama(model="llama3.1"),
    )
    history = await agent.run()
    print(history.final_result())


if __name__ == "__main__":
    asyncio.run(main())

Model lokal memang gratis dan privat, tapi akurasi navigasinya biasanya di bawah model frontier seperti GPT atau Claude. Untuk tugas yang butuh presisi tinggi (misalnya login atau checkout), pakai model frontier; untuk eksperimen dan belajar, model lokal sudah lebih dari cukup.

Tips Praktis agar Agent-mu Lebih Andal
  • Buat task spesifik. Semakin rinci instruksimu (URL, data yang diisi, hasil yang diharapkan), semakin kecil peluang agent "nyasar".
  • Pantau dengan mode headless dimatikan. Saat development, biarkan browser terlihat agar kamu bisa mengamati langkah agent secara langsung.
  • Waspadai CAPTCHA dan login. Situs dengan proteksi anti-bot bisa memblokir agent; selalu patuhi terms of service situs yang kamu akses.
  • Gunakan save_to_file() untuk debugging. Screenshot tiap langkah tersimpan di riwayat sehingga mudah melacak di mana agent gagal.
Kesimpulan

Browser Use membuka babak baru dalam otomatisasi web: alih-alih menulis scraper yang rapuh, kamu cukup menulis instruksi dalam bahasa alami. Di tutorial ini kamu sudah belajar instalasi, konfigurasi API key, menulis agent pertama, mengambil hasil, mengisi form, sampai memakai model lokal lewat Ollama. Dari sini, kamu bisa bereksperimen dengan tugas yang lebih kompleks — riset harga kompetitor, pengisian formulir berulang, monitoring harga, atau agregasi data dari banyak situs sekaligus.

Kalau artikel ini membantumu, bagikan ke teman sesama developer, dan pantau terus BengkelKode untuk tutorial AI & coding terbaru lainnya.