Modern tarayıcı otomasyonu hızla gelişiyor. Kırılgan Selenium betiklerinin ve hassas seçici yönetiminin ötesinde, Browser Use, Ollama ve DeepSeek ile doğal dil talimatlarını gerçek tarayıcı aksiyonlarına dönüştüren yerel yapay zeka ajanları oluşturabilirsiniz.
Bu yazıda Python tabanlı bir ajan kuracağız. Ajan; tarayıcı açacak, sayfalar arasında gezinecek, formlarla etkileşime girecek ve web üzerinden bilgi çıkarabilecek. Kurulum yerel çalışır: LLM tarafında Ollama, akıl yürütme tarafında DeepSeek, tarayıcı kontrolünde ise Browser Use kullanacağız.
Neden Browser Use, Ollama ve DeepSeek?
Bu yığın üç parçadan oluşur:
- Browser Use: Gezinme, tıklama, form doldurma ve veri çıkarma gibi tarayıcı aksiyonlarını Python üzerinden yönetir.
- Ollama: LLM modelini yerel makinenizde çalıştırmanızı sağlar.
- DeepSeek: Doğal dil görevlerini uygulanabilir tarayıcı adımlarına dönüştürmek için kullanılır.
Bu kombinasyonla şu tür iş akışlarını otomatikleştirebilirsiniz:
- Web sayfalarında gezinme ve veri çıkarma
- Form doldurma
- Dinamik sayfalarla etkileşim
- Çok adımlı doğal dil görevlerini yürütme
- QA ve API odaklı test senaryolarını destekleme
Önkoşullar
Başlamadan önce aşağıdaki araçların yüklü olduğundan emin olun:
- Python 3.11+
python --version
Ollama
https://ollama.comNode.js
Playwright tabanlı tarayıcı otomasyonu için gerekir.
node --version
- Git
git --version
-
Donanım
- En az 4 CPU çekirdeği
- 16 GB RAM
- DeepSeek modeli için yaklaşık 12 GB boş disk alanı
- GPU zorunlu değildir, ancak büyük modellerde performansı artırır
Eksik bileşenleri bu aşamada kurmanız, sonraki adımlarda bağımlılık hatalarını azaltır.
Projeyi Oluşturma
1. Proje klasörü oluşturun
mkdir browser-use-agent
cd browser-use-agent
2. Browser Use deposunu klonlayın
git clone https://github.com/browser-use/browser-use.git
cd browser-use
3. Python sanal ortamı oluşturun
python -m venv venv
Sanal ortamı etkinleştirin:
macOS / Linux
source venv/bin/activate
Windows
venv\Scripts\activate
Terminalde (venv) görüyorsanız ortam aktiftir.
4. Projeyi VS Code'da açın
code .
VS Code kullanmıyorsanız aynı adımları tercih ettiğiniz editörle de uygulayabilirsiniz.
Ollama ve DeepSeek Kurulumu
1. Ollama'yı yükleyin
Ollama'yı https://ollama.com adresinden indirin ve kurun.
Kurulumu doğrulayın:
ollama --version
2. DeepSeek modelini indirin
DeepSeek “seed” modelini çekin:
ollama pull deepseek/seed
Model yaklaşık 12 GB boyutundadır. Donanım veya disk alanı sınırlıysa daha küçük bir model kullanmayı düşünebilirsiniz; örneğin:
ollama pull qwen2.5:14b
Kurulu modelleri kontrol edin:
ollama list
Listede deepseek/seed, deepseek-r1 veya seçtiğiniz modelin göründüğünden emin olun.
Browser Use ve Bağımlılıkları Yükleme
1. Browser Use'u yükleyin
Sanal ortam aktifken Browser Use deposu içinde şu komutu çalıştırın:
pip install . ."[dev]"
2. LangChain ve Ollama entegrasyonunu ekleyin
pip install langchain langchain-ollama
Bu paketler Browser Use ajanının yerel Ollama modeliyle konuşmasını sağlar.
3. Playwright tarayıcılarını yükleyin
playwright install
Linux üzerinde ek sistem bağımlılıkları gerekiyorsa:
playwright install-deps
Hata alırsanız önce Python sürümünüzün 3.11 veya üzeri olduğunu ve sanal ortamın aktif olduğunu kontrol edin.
Ollama Sunucusunu Başlatma
Ayrı bir terminal açın ve Ollama sunucusunu başlatın:
ollama serve
Varsayılan olarak Ollama şu adreste çalışır:
http://localhost:11434
Python ajanını çalıştırırken bu terminali açık bırakın.
Örnek: Google'da Boston Hava Durumunu Arayan Ajan
Şimdi Browser Use ile basit bir ajan yazalım. Görev: Google üzerinden Boston, Massachusetts hava durumunu bulmak.
Proje klasöründe test.py dosyası oluşturun:
import asyncio
from browser_use import Agent
from langchain_ollama import ChatOllama
async def run_search() -> str:
agent = Agent(
task="Use Google to find the weather in Boston, Massachusetts",
llm=ChatOllama(
model="deepseek/seed",
num_ctx=32000,
),
max_actions_per_step=3,
tool_call_in_content=False,
)
result = await agent.run(max_steps=15)
return result
async def main():
result = await run_search()
print("\n\n", result)
if __name__ == "__main__":
asyncio.run(main())
VS Code Python yorumlayıcısını kontrol edin
VS Code kullanıyorsanız doğru sanal ortamı seçin:
-
Ctrl + Pveya macOS üzerindeCmd + P -
> Select Python Interpreteryazın - Projenizdeki
venvyorumlayıcısını seçin
Betiği çalıştırın
python test.py
Ajan tarayıcıyı başlatır, Google'da arama yapar ve sonucu terminale yazar.
Hata alırsanız şunları kontrol edin:
-
ollama serveçalışıyor mu? -
http://localhost:11434erişilebilir mi? - Model adı doğru mu?
- Playwright tarayıcıları kurulu mu?
Ollama günlüklerini şu dizinde inceleyebilirsiniz:
~/.ollama/logs
Görevi Değiştirme
Ajanın davranışını değiştirmek için task alanını güncellemeniz yeterlidir.
Örneğin:
task="Go to GitHub, search for browser-use, and summarize the repository description"
Veya:
task="Visit a documentation page, extract all API endpoint paths, and return them as a list"
Daha deterministik sonuçlar için görevleri net ve ölçülebilir yazın:
Kötü örnek:
Uçuş bul.
Daha iyi örnek:
kayak.com adresine git, Zürih'ten Pekin'e 25.12.2025–02.02.2026 tarihleri arasında uçuş ara ve sonuçları fiyata göre sırala
Apidog'u Entegre Etme: API Sözleşmelerini Doğrulama
Tarayıcı ajanları çoğu zaman API destekli web uygulamalarıyla etkileşime girer. Bu durumda yalnızca UI akışının çalışması yeterli değildir; arka uç API sözleşmelerinin de tutarlı olması gerekir.
Apidog bu noktada şu iş akışlarına yardımcı olur:
- API uç noktalarının beklenen yanıtları verdiğini test etme
- API test senaryolarını oluşturma ve yönetme
- Hazırlık ve üretim ortamlarında API sözleşmelerini doğrulama
- Tarayıcı otomasyonu ile API doğrulamasını aynı test stratejisinde birleştirme
Örneğin, ajanınız bir ödeme, kayıt veya arama akışını tarayıcı üzerinden test ederken; Apidog ile bu akışta kullanılan API'lerin beklenen şemaya ve davranışa uyduğunu ayrıca doğrulayabilirsiniz.
Apidog ile API Sözleşme Testi
Etkili İstem Yazma İpuçları
Browser Use ajanının daha doğru çalışması için istemleri açık yazın.
1. Hedefi net belirtin
Google'a git, Boston Massachusetts hava durumunu ara ve sıcaklığı Fahrenheit olarak döndür.
2. Çıktı formatını tanımlayın
Sonucu şu formatta döndür: şehir, sıcaklık, hava durumu açıklaması.
3. Çok adımlı işleri bölün
LinkedIn'i aç, makine öğrenmesi işleri ara, ilk 5 sonucu listele ve şirket adlarını çıkar.
4. Sınırları belirtin
Sadece ilk sayfadaki sonuçları kullan.
5. Gerekirse görevi yineleyin
İlk sonuç beklediğiniz gibi değilse istemi daha spesifik hale getirin. Örneğin “hava durumunu bul” yerine “Google arama sonuçlarındaki hava durumu kartından sıcaklık değerini çıkar” demek daha iyi sonuç verebilir.
Hata Ayıklama ve Sorun Giderme
Ollama çalışmıyor
Kontrol edin:
ollama serve
Model listesini doğrulayın:
ollama list
Günlükleri inceleyin:
~/.ollama/logs
Model adı hatalı
Kodda kullandığınız model adı ollama list çıktısıyla aynı olmalıdır.
Örneğin:
model="deepseek/seed"
Playwright tarayıcı açmıyor
Tarayıcıları yeniden yükleyin:
playwright install
Linux üzerinde:
playwright install-deps
Ajan çok yavaş çalışıyor
DeepSeek modelleri donanıma bağlı olarak yavaş olabilir. Alternatif olarak daha küçük bir model deneyebilirsiniz:
ollama pull qwen2.5:14b
Sonra kodda model adını güncelleyin:
llm=ChatOllama(
model="qwen2.5:14b",
num_ctx=32000,
)
Ajan yanlış aksiyonlar alıyor
Şunları deneyin:
- Görevi daha kısa ve spesifik yazın
- Çıktı formatı ekleyin
- Maksimum adım sayısını artırın
-
max_actions_per_stepdeğerini düşürerek ajanı daha kontrollü hale getirin
Örnek:
result = await agent.run(max_steps=25)
Sıkça Sorulan Sorular
Browser Use nedir?
Browser Use, Playwright üzerinde çalışan ve yapay zeka destekli tarayıcı otomasyonu sağlayan bir Python paketidir.
GitHub: https://github.com/browser-use/browser-use
GPU gerekli mi?
Zorunlu değildir. Ancak DeepSeek gibi daha büyük modellerde GPU performansı artırır.
DeepSeek dışında model kullanabilir miyim?
Evet. Ollama tarafından desteklenen ve yeterli akıl yürütme kapasitesine sahip başka modeller de kullanılabilir.
Veriler yerel mi işlenir?
Evet. Ollama'yı yerel çalıştırdığınızda, aksi şekilde yapılandırmadığınız sürece model çıkarımı makinenizde yapılır.
Giriş akışları ve çok adımlı görevler otomatikleştirilebilir mi?
Evet. Görevi doğal dilde tanımlayabilirsiniz. Ajan bu görevi tarayıcı aksiyonlarına böler. Ancak kimlik doğrulama, CAPTCHA ve güvenlik kontrolleri gibi alanlarda uygulamanızın test ortamına ve kullanım kurallarına uygun hareket etmeniz gerekir.
Sonuç
Python, Browser Use, Ollama ve DeepSeek ile doğal dil talimatlarını gerçek tarayıcı aksiyonlarına dönüştüren yerel yapay zeka ajanları oluşturabilirsiniz. Bu yaklaşım özellikle QA, arka uç entegrasyonu, web veri çıkarma ve API odaklı test senaryolarında kullanışlıdır.
Başlamak için:
- Python sanal ortamınızı oluşturun
- Browser Use bağımlılıklarını kurun
- Ollama üzerinde modeli çalıştırın
-
Agentile görevinizi tanımlayın - Sonuçları test edip isteminizi iyileştirin
API kullanan web akışlarında, tarayıcı otomasyonunu Apidog ile API sözleşme testiyle destekleyerek daha güvenilir uçtan uca kontroller oluşturabilirsiniz.





Top comments (0)