izan.io/Dokümantasyon

Araçlar

Bir araç kısa bir JavaScript fonksiyonudur. params ve browser objesi alır, web sayfasında bir şey yapar ve veri döner.

async (params, browser) => {
  await browser.open('https://example.com')
  const title = await browser.evaluate('document.title')
  return { title }
}

Bu kadar. Framework yok, bağımlılık yok, derleme adımı yok.

Gerçek Örnekler

Bir ürünün fiyatını al

async (params, browser) => {
  await browser.open(params.url)
  await browser.waitForSelector('.price')
  return { price: await browser.getText('.price') }
}

Google'da ara ve sonuçları döndür

async (params, browser) => {
  await browser.open(`https://www.google.com/search?q=${params.query}`)
  await browser.waitForSelector('h3')

  return await browser.evaluate(`
    [...document.querySelectorAll('h3')].slice(0, 5).map(el => ({
      title: el.textContent,
      url: el.closest('a')?.href
    }))
  `)
}

GitHub bildirimlerini oku

async (params, browser) => {
  // Zaten giriş yapmış durumdasınız - uzantı gerçek tarayıcı oturumunuzu kullanır
  await browser.open('https://github.com/notifications')
  await browser.waitForSelector('.notification')

  return await browser.evaluate(`
    [...document.querySelectorAll('.notification')].map(el => ({
      title: el.querySelector('.title')?.textContent?.trim(),
      repo: el.querySelector('.repo')?.textContent?.trim()
    }))
  `)
}

Form doldur ve gönder

async (params, browser) => {
  await browser.open('https://example.com/login')
  await browser.type('input[name="email"]', params.email)
  await browser.type('input[name="password"]', params.password)
  await browser.click('button[type="submit"]')
  await browser.waitForUrl('/dashboard')
  return { success: true }
}

Browser API

Tüm metodlar async. await ile çağırın.

Navigasyon

MetodNe yapar
browser.open(url)Yeni sekmede URL aç
browser.navigate(url)Mevcut sekmede gezin
browser.close()Sekmeyi kapat
browser.getUrl()Geçerli URL'yi al
browser.attachActiveTab()Kullanıcının açık sekmesini kullan

Etkileşim

MetodNe yapar
browser.click(selector)Elemente tıkla
browser.type(selector, text)Input'a yaz (önce temizler)
browser.select(selector, value)Dropdown'dan seç
browser.scroll()500px aşağı kaydır

Okuma

MetodNe yapar
browser.getText(selector)Metin içeriğini al
browser.getAttribute(selector, attr)Nitelik değerini al
browser.getValue(selector)Input değerini al
browser.exists(selector)Element var mı kontrol et

Bekleme

MetodNe yapar
browser.waitForSelector(sel)Elementin görünmesini bekle
browser.waitForUrl(pattern)URL'nin eşleşmesini bekle
browser.waitForLoad()Sayfa yüklemesini bekle
browser.wait(ms)N milisaniye bekle

Gelişmiş

MetodNe yapar
browser.evaluate(js)Sayfa bağlamında JS çalıştır
browser.snapshot()Erişilebilirlik ağacını metin olarak al

browser.evaluate() en güçlü metoddur. JavaScript'i doğrudan sayfada çalıştırır - tam DOM erişimi, fetch, localStorage, çerezler, her şey.

Parametreler

[
  { "name": "url", "type": "string", "required": true },
  { "name": "max_results", "type": "number", "required": false }
]

AI aracı çağırırken bunları gönderir. Kodunuzda params.url, params.max_results şeklinde erişin.