Makrolar (Tarayici Otomasyonu)
Makrolar Nedir?
Makrolar, tarayicidaki etkilesimlerinizi kaydedip tekrar oynatmanizi saglayan otomatik tarayici islemleridir. izan.io'daki makrolar siradan otomasyon araclarindan farklidir: agentlar tarafindan arac olarak cagrilabilir. Bu sayede bir AI agenti, sizin adimlariniza web sayfalarinda gezinebilir, form doldurabilir, veri cikarabilir ve karmasik is akislarini otomatik olarak yurutebilir.
Makro Sunuculari
Kayit yapmadan once makrolarinizi gruplamak icin bir makro sunucusu olusturmaniz gerekir. Sunucu, iliskili makrolarin bir arada tutuldugu isimlendirilmis bir gruptur.
- Yan panelde Yeni Sunucu butonuna tiklayarak olusturun
- Bir isim ve istege bagli aciklama girin
- Sunucu adinin yanindaki ikonlarla duzenleyin veya silin
- Her sunucu birden fazla makro icerebilir
Makro Kaydetme
Makro kaydetmek icin Chrome eklentisi gereklidir:
- Chrome eklentisinin yan panelini acin (eklenti simgesine tiklayin)
- Eklemek istediginiz sunucunun altindaki Makro Kaydet butonuna tiklayin
- Kaydet dugmesine basarak yakalamaya baslayin
- Kaydetmek istediginiz web sitesinde etkilesimlerinizi gerceklestirin (tiklama, yazma, sayfa gecisi, kaydirma)
- Islemleri tamamladiginizda Durdur dugmesine basin
- Bitti dugmesine basarak kayit ekranina gecin
- Makronuza bir isim verin, aciklama ekleyin ve kaydedin
Kaydedici, her etkilesimi element selektorleri, islem tipleri ve giris degerleri ile ayri bir adim olarak yakalar. Adimlar, sayfayla etkilesim kurarken yan panelde anlik olarak goruntulenir.
Ek Kayit Kontrolleri
- Liste cikarma -- kayit sirasinda Liste butonuna tiklayarak benzer ogelerin listesini cikarabilirsiniz (ornegin arama sonuclari, tablo satirlari)
- Tekil cikarma -- Tekil butonuna tiklayarak tek bir elemandan veri cikarabilirsiniz
- Selektor -- Selector butonuna tiklayarak CSS selektor cikarma panelini acin (asagidaki Cikarma Yontemleri bolumune bakin)
- A11y -- A11y butonuna tiklayarak erisebilirlik cikarma panelini acin; ARIA rolu ile veri cikarabilir veya tam sayfa erisebilirlik goruntusu alabilirsiniz
- Bekleme adimi -- Bekle butonuna tiklayarak adimlar arasina manuel gecikme ekleyebilirsiniz (0.1--30 saniye)
- Kod adimi -- Code butonuna tiklayarak sayfa baglaminda calisacak ozel JavaScript kodu ekleyebilirsiniz (asagidaki Kod Adimlari bolumune bakin)
- Serit -- ayri sekmelerde eszamanli yurutme icin paralel serit ekleyebilirsiniz
Parametrelestirme
Parametrelestirme, kaydedilen statik degerleri LLM'in calisma zamaninda sagladigi dinamik girislere donusturur. Uc tip vardir:
URL Sorgu Parametreleri
Bir navigasyon adiminda URL sorgu parametreleri varsa (ornegin ?q=test), her parametre bir toggle anahtari ile goruntulenir. Dinamik yapmak icin toggle'i acin:
- Deger
testyerine{{q}}olur - LLM'in ne saglamasi gerektigini anlatan bir aciklama girin (ornegin "Arama sorgusu")
- Calisma zamaninda LLM gercek degeri doldurur
URL Yol Parcalari
URL'deki yol parcalari da parametrelestirilebilir. Ornegin github.com/user/repo/issues/123 adresinde:
- Her yol parcasi (
user,repo,issues,123) bir toggle ile goruntulenir 123uzerindeki toggle'i acarak dinamik yapin- Bir parametre adi (ornegin
issue_number) ve aciklama girin - URL
github.com/user/repo/issues/{{issue_number}}haline gelir
Metin Girisi Degerleri
Giris alanlarina yazilan metinler parametrelestirilebilir:
- Bir yazma adimi, kaydedilen metni bir toggle ile gosterir
- Metni dinamik yapmak icin toggle'i acin
- Bir parametre adi (ornegin
search_query) ve aciklama girin - Calisma zamaninda LLM yazilacak metni saglar
Kod Adimlari
Bazi web siteleri yalnizca UI kaydi ile otomatiklestirilemeyecek kadar karmasiktir -- selektorler bozulur, elemanlar dinamik olarak olusturulur veya ihtiyaciniz olan veriler ozel mantik gerektirir. Kod adimlari, sayfa baglaminda dogrudan ozel JavaScript yazmaniza ve calistirmaniza olanak tanir.
Kod Adimi Ekleme
- Arac cubugundan Code butonuna tiklayin (hem kayit hem duzenleme gorunumlerinde mevcuttur)
- JavaScript sozdizimi vurgulama iceren bir kod duzenleyici paneli acilir
- Kodunuzu yazin -- kod bir
async functionicinde calisir, bu nedenleawaitvereturnkullanabilirsiniz - Istege bagli olarak bir Sonuc adi belirleyin -- belirlendiginde, donus degeri cikarma verisi olarak (extract adimi gibi) saklanir ve sonraki adimlar tarafindan kullanilabilir
- Aktif sekmede kodu calistirmak ve sonucu hemen gormek icin Test butonuna tiklayin
- Makroya eklemek icin Add Step butonuna tiklayin
Veri Dondurme
Makroya veri gondermek icin return kulllanin. Donus degeri cikarma sonuclari gibi calisir:
return document.title-- sayfa basligini string olarak dondururreturn [...document.querySelectorAll('h2')].map(e => e.textContent)-- basliklarin bir dizisini dondururreturn { price: document.querySelector('.price').textContent, stock: document.querySelector('.stock').textContent }-- yapilandirilmis bir nesne dondurur
Bir Sonuc adi belirlendiginde (ornegin page_data), donus degeri o anahtar altinda saklanir ve forEachItem yinelemeleri dahil sonraki adimlar tarafindan referans alinabilir.
Parametrelestirme
Kod adimlari, diger adim turleri gibi {{param}} yer tutucularini destekler. Kodunuzda bir yer tutucu yazdiginizda, otomatik olarak algilanir ve duzenleyicinin altinda bir parametre karti goruntulenir:
- Parametre etiketi --
{{param_name}}gosterir (salt okunur) - Varsayilan deger -- LLM deger saglamadiginda kullanilan deger
- Aciklama -- LLM'e bu parametrenin ne icin oldugunu anlatir
Ornegin return document.querySelector('{{selector}}').textContent yazmak bir selector parametresi olusturur. Calisma zamaninda LLM gercek CSS selektoru saglar.
Kod Adimlarini Duzenleme
Kod adimlari adim listesinde suslu parantez ikonu ile goruntulenir. Adimi genisletip duzenlemek icin Edit code butonuna tiklayin:
- JavaScript kodu (tam sozdizimi vurgulama ile)
- Sonuc adi
- Algilanan parametre aciklamalari ve varsayilan degerler
Kullanim Alanlari
- Karmasik veri cikarma -- CSS selektorleri ve erisebilirlik yontemleri yeterli olmadiginda, ozel DOM gezinme mantigi yazin
- Sayfa manipulasyonu -- gizli butonlara tiklayin, JavaScript API'lerini tetikleyin veya sonraki adimdan once sayfa durumunu degistirin
- Hesaplanmis degerler -- birden fazla sayfa elemanindaki degerleri hesaplayin ve yapilandirilmis sonuclar dondurun
- API cagrilari -- cerezler veya oturum baglami gerektiren sayfa ici API'leri cagirmak icin
fetch()kullanin
Makro Duzenleme
Listedeki herhangi bir makroya tiklayarak duzenleme gorunumunu acabilirsiniz:
- Makronun adini degistirme ve aciklamasini guncelleme
- Adimlari yeniden siralama: tutma kolunu surukleyerek veya yukari/asagi oklari kullanarak
- Adim silme: uzerine gelip cop kutusu ikonuna tiklayarak
- Ek adimlar kaydetme: Kaydet butonuna basarak mevcut makroya yeni islemler ekleyebilirsiniz
- Cikarma adimlari ekleme: Duzenleme-kayit modundayken Liste/Tekil butonlarini kullanarak
- Bekleme adimi ekleme: Yapilandirtilabilir sureli manuel bekleme
- Kod adimi ekleme: Sayfa baglaminda calisan ozel JavaScript kodu
- Bekleme kosulu ayarlama: Navigasyon adimlarinda Sayfa Yuklenmesi (varsayilan), DOM Hazir veya Ag Bosalma arasinda secim
- Parametreleri ayarlama: URL parametreleri, yol parcalari ve metin girisleri icin parametrelestirmeyi acip kapatma
- JSON olarak disa aktarma: Duzenleme gorunumunden makroyu disa aktarabilirsiniz
Veri Cikarma
Veri cikarma, makrolarin web sayfalarindan yapilandirilmis veri cekmesini saglar. Cikarma adimlari olusturmanin birkac yolu vardir:
Eleman Secici (Liste ve Tekil)
Eleman secici, sayfada gorsel bir kaplama kullanarak eleman secmenizi saglar.
Liste modu:
- Kayit sirasinda Liste butonuna tiklayin
- Tekrarlanan bir elemanin (ornegin bir arama sonucu ogesi) uzerine gelin -- sari renkle vurgulanir
- Tiklayarak secin -- tum benzer elemanlar algilanir ve vurgulanir
- Cikarma adimi, oge sayisini ve alan tanimlarini yakalar
- Calisma zamaninda, eslesen tum elemanlarin verileri yapilandirilmis liste olarak dondurulur
Tekil modu:
- Kayit sirasinda Tekil butonuna tiklayin
- Hedef elemanin uzerine gelin ve tiklayin
- Alanlar elemandan otomatik olarak algilanir (metin, baglantilar, gorseller, giris alanlari) -- liste modu gibi
- Istege bagli olarak ek alt elemanlara tiklayarak daha fazla alan ekleyin
- Bitti butonuna tiklayin -- cikarma adimi hemen olusturulur
- Calisma zamaninda, cikarilan veriler tek bir nesne olarak dondurulur
Cikarma Yontemleri
Arac cubugunda cikarma icin iki ayri buton bulunur:
CSS Selektor (Selector butonu)
Selector butonuna tiklayarak CSS cikarma panelini acin. Manuel olarak bir CSS selektoru girin (ornegin .post-item, table tbody tr). Liste veya Tekil modu secin, ardindan Extract butonuna tiklayin.
- Liste -- eslesen tum elemanlar oge olarak islenir; alanlar ilk ogeden otomatik algilanir
- Tekil -- ilk eslesen eleman kullanilir; alanlar ondan otomatik algilanir
- Ipucu: DevTools'ta bir elemana sag tiklayin → Kopyala → Selektoru kopyala
Erisebilirlik (A11y butonu)
A11y butonuna tiklayarak erisebilirlik cikarma panelini acin. Bu yontem CSS selektoru yerine ARIA rolu ile eleman cikarimi yapar -- stil degisikliklerine karsi daha dayaniklidir, Shadow DOM sinirlarini asar ve sinif adlarina bagimli degildir.
- Acilir menuden bir veya birden fazla rol secin (ornegin
link,button,heading,article,listitem,row) - Istege bagli olarak sonuclari filtrelemek icin bir erisebilir ad girin -- yer tutucu, secilen role gore ornekler gosterir (ornegin
linkicin: "Sign In", "Read more") - Include children secenegini ayarlayin:
- ACIK (varsayilan) -- her eslesen eleman bir konteyner olarak islenir ve alt icerigi (baglantilar, metin, gorseller) ayri alanlar olarak otomatik algilanir.
article,listitem,rowgibi ic ice icerik barindiran zengin elemanlar icin kullanin. - KAPALI -- yalnizca eslesen elemanlarin dogrudan ozellikleri cikarilir (metin icerigi, baglantilar icin
href, gorseller icinsrc/alt, giris alanlari icinvalue).link,button,headinggibi basit elemanlar icin kullanin.
- ACIK (varsayilan) -- her eslesen eleman bir konteyner olarak islenir ve alt icerigi (baglantilar, metin, gorseller) ayri alanlar olarak otomatik algilanir.
- Extract butonuna tiklayin
Erisebilirlik yontemi her zaman eslesen tum elemanlarin bir listesini uretir. Calisma zamaninda, A11y yontemiyle olusturulan cikarma adimlari gercek erisebilirlik agacini Chrome DevTools Protokolu uzerinden kullanir; bu sayede dinamik sinif adlarina veya karmasik HTML yapisina sahip sitelerde bile guvenilir calisir.
Komsular (Neighbors)
Komsular sekmesi, erisebilirlik agacindaki belirli bir elemanin cevresindeki baglami cikarir. Bir hedef adi girin (ornegin "Price"), istege bagli olarak rol ile filtreleyin, kac kardes dahil edilecegini ayarlayin (1--20, varsayilan 3) ve yon secin (her iki yon/yukari/asagi). Hedef dugum ciktida ← TARGET ile isaretlenir.
Role dayali cikarma cok duz bir sonuc dondurdugunde ve cevre yapisina ihtiyac duydugunuzda kullanislidir -- ornegin bir "Price" basligini bulup altindaki 3 kardesi gormek icin.
Erisebilirlik Goruntusu (Snapshot)
A11y panelinde ayrica bir Goruntu bolumu bulunur. Snapshot butonuna tiklayarak mevcut sayfanin tam erisebilirlik agacini alin. Bu, sayfa yapisini roller, isimler ve ozelliklerle gosteren kompakt bir metin temsili dondurur -- hangi rolleri cikaracaginiza karar vermeden once sayfa yapisini anlamak icin kullanislidir.
Goruntu ayni zamanda accessibility_snapshot adli yerlesik bir MCP araci olarak da mevcuttur (bkz. Agentlara Makro Atama).
Tablo Otomatik Algilama
Eleman secici bir <table> elemani algiladiginda, tablo basliklarini anahtar olarak kullanarak her sutunu otomatik olarak bir alana esler. Boylece alanlari manuel tanimlamadan satirlar halinde yapilandirilmis veri elde edersiniz.
Cikarma Alanlarini Duzenleme
Bir cikarma adimi olusturulduktan sonra, adim kartindaki "Edit fields" butonuna tiklayarak alanlari tek tek duzenleyebilirsiniz. Her alan karti su bilgileri gosterir:
- Anahtar -- cikis nesnesindeki ozellik adi
- Tip acilir menusu --
text,html,attribute,value,regex,nestedveyanested_listsecenekleri - Donusum acilir menusu --
trim,lowercase,uppercaseveyanumberson isleme uygulama - Selektor -- elemani bulmak icin kullanilan CSS selektoru (monospace etiket olarak gosterilir)
Secilen tipe gore ek giris alanlari goruntulenir:
- attribute -- cikarilacak HTML ozellik adi icin acilir menu (ornegin
href,src), gercek elemandan doldurulur - regex -- regex deseni icin giris ve istege bagli varsayilan deger
- nested / nested_list -- alt alan sayisi goruntulenir; alt alanlari JSON disa/ice aktarma ile duzenleyin
"+ Alan Ekle" butonu ile yeni alan ekleyebilir veya her karttaki x butonu ile alan silebilirsiniz. Degisiklikler adim verisine aninda uygulanir ve makroyu kaydederken veya disa aktarirken dahil edilir.
Veri Onizleme
Bir cikarma adimi olusturuldugunda, canli sayfadan cikarilan verilerin bir onizlemesi yakalanir ve adim kartinda dogrudan gosterilir -- herhangi bir seyi genisletmenize gerek yoktur. Alanlari duzenledikce onizleme canli olarak guncellenir.
- Liste modunda onizleme, ilk birkac ogeyi anahtar-deger ciftleriyle gosterir
- Tekil modda onizleme, cikarilan nesnenin anahtar-deger ciftlerini gosterir
- Degerler okunabilirlik icin kisaltilir; ic ice nesneler ve diziler boyutlarini gosterir
- Daraltmak/genisletmek icin onizleme basligina tiklayin
Onizleme, makroyu kaydetmeden once dogru verilerin cikarildigini dogrulamaniza yardimci olur.
Varsayilan Degerler
Alanlar, selektor hicbir elemanla eslesmediginde veya cikarma bos sonuc verdiginde dondurulecek bir varsayilan degere sahip olabilir. Varsayilan degerleri alan duzenleyici veya JSON disa aktarma ile ayarlayin.
Donusum Hatti
Her alan, cikarmadan sonra uygulanan istege bagli bir donusum destekler:
- trim -- bastaki/sondaki bosluklari kaldir
- lowercase -- kucuk harfe donustur
- uppercase -- buyuk harfe donustur
- number -- metni sayi olarak ayristir
Limitler
| Limit | Deger | Kapsam |
|---|---|---|
| AX agac satirlari | 2.000 | cikarma basina |
| Rol ogeleri | 100 | cikarma basina |
| Metin degerleri | 500 karakter | cikarma basina |
| Tablo hucreleri | 200 karakter | cikarma basina |
| Tablo satirlari | 200 | cikarma basina |
| Toplam yanit | 50.000 karakter | tum arac yaniti |
Cikarma basina limitler serit basina uygulanir -- 4 paralel serit snapshot cikarirsa toplam 4 × 2.000 AX agac satiri olusabilir. Toplam yanit limiti tum seritlerin birlesik ciktisina en son uygulanir. Verileriniz kesiliyorsa daha spesifik selektorler veya rol adi filtreleri ile kapsamini daraltin.
Paralel Seritler
Makrolar, ayri tarayici sekmelerinde eszamanli olarak birden fazla adim dizisini calistirmak icin paralel serit destegi sunar.
- Yeni serit olusturmak icin Serit (kayit gorunumu) veya Serit Ekle (duzenleme gorunumu) butonuna tiklayin
- Serit sekmeleri arasinda tiklayarak gecis yapin
- Sekme adina cift tiklayarak yeniden adlandirin
- Sekme uzerindeki X butonuyla seridi kaldirin
- Her serit bagimsiz olarak calisir -- birden fazla siteyi eszamanli olarak aramak veya sayfalar arasi verileri karsilastirmak icin idealdir
Paylasim
Makrolar ve sunucular JSON olarak disa ve ice aktarilabilir:
Disa Aktarma
- Sunucu adinin yanindaki indirme ikonu ile sunucuyu (tum araclariyla birlikte) disa aktarin
- Arac satirindaki indirme ikonu veya duzenleme gorunumunden tek bir araci disa aktarin
Ice Aktarma
- Listenin altindaki "JSON Ice Aktar" butonu ile sunucu ice aktarin
- Sunucu adinin yanindaki yukleme ikonu ile belirli bir sunucuya arac ice aktarin
Bu ozellik sayesinde otomasyon is akislarini ekipler arasinda paylasabilir veya makrolarinizi yedekleyebilirsiniz.
Agentlara Makro Atama
Bir makroyu agente atamak icin:
- Agent duzenleme panelini acin
- Makrolar bolumune gidin
- Agentin kullanabilecegi makrolari secin
Sohbet sirasinda LLM, atanmis her makroyu cagrilabilir bir arac olarak gorur. Model bir makroyu cagirmaya karar verdiginde, Chrome eklentisi kaydedilen adimlari tarayicida yurutur ve sonuclari sohbete dondurur. Agent daha sonra cikarilan verileri kullanarak yanitini olusturur.
Yerlesik Erisebilirlik Goruntusu Araci
Kullanici tarafindan olusturulan makrolara ek olarak, makro etkinlestirilmis her agent otomatik olarak accessibility_snapshot aracina erisebilir. Bu yerlesik arac, mevcut otomasyon tarayici sayfasinin tam erisebilirlik agacini kompakt metin olarak dondurur -- roller, isimler ve ozellikler agac formatinda. Agentlar bunu sayfa yapisini anlamak, navigasyon sonuclarini dogrulamak veya hangi elemanlarla etkilesime gecilecegine karar vermek icin kullanabilir.