Delphi Can
EdgeBrowser Hakkında - Baskı Önizleme

+- Delphi Can (https://www.delphican.com)
+-- Forum: Delphi (https://www.delphican.com/forumdisplay.php?fid=3)
+--- Forum: Genel Programlama (https://www.delphican.com/forumdisplay.php?fid=6)
+--- Konu Başlığı: EdgeBrowser Hakkında (/showthread.php?tid=7501)



EdgeBrowser Hakkında - bydelphi - 17-11-2023

Merhabalar,

Bir web sayfaya EdgeBrowser ile otomatik login olup 
https://blogs.embarcadero.com/execute-scripts-and-view-source-with-tedgebrowser/
adresindeki ExecuteScrip metodu ile html içeriği alıyorum.
Ancak Doğrudan EdgeBrowser ile bunu parse edecek ve taglara erişecek metotlar bulamadım.
örneğin  
EdgeBrowser1.OleObject.Document.all.tags('table').item(11);

css stil sorunu çıkıyor görüntülerken, üstte ki kodu burda açık yazıyorum . 
EdgeBrowser1.OleObject.Document.all.tags('table').item(11);
gibi bir kod ole desteği olmadığı için çalışmıyor edgede.
Bu aldığım htmli işlemek için farklı bir nesneye örneğin eski webrowsera yükleyip zaman ve kaynak kaybetmek istemiyorum.
Bu konuda tecrübesi olan varmı nasıl ilerlenebilir. Tavsiyeniz varmı ?.
Teşekkürler  My


Cvp: EdgeBrowser Hakkında - bydelphi - 17-11-2023

Yeni bir şey daha öğrenmiş olduk, 
document.querySelectorAll('div[comp-id]')[5].innerHTML;
doğrudan EdgeBrowser üzerinden js query selektörler ile herşeye erişip get/set edebiliyor muşuz.


Öğrendiğim kadarıyla biraz daha detay vereyim - bydelphi - 19-11-2023

Biraz daha geliştirdim kodu, Yaptığım Çalışmayı Biraz Detaylandırayım, 

[attachment=2471]


Soldaki siyahlı bölüm uygulamamın içindeki sayfa EdgeBrowser ve bir borsa canlı veri sayfası açık.
Sağ üstteki memo benim bu sayfadan veri çekmek için yazdığım javascript query selektörler.
Sağ alttaki memo ise bu selektörler ile çekilen veriler.
üç faklı span / divdeki veriyi bir diziye atıp encodeURI metodu ile browserdan çekiyorum.
Konu bu kadar basitmiş aslında. Tabi sonrasında bu aldığım canlı veriyi alıp ayrıştırıp işliyorum.

aslında html elemenlerin değişmeyen sabit uniq id yada namel'eri olsa bu kadar uğraşmazdım .

örneğin 
elementi yakalamak için yazdığım şu koda bakalım

 els = document.querySelectorAll('span[ref="eCellValue"]')
tüm span elementlerinin ref attributte olup değerinin de eCellValue olanlarını bir diziye al.
yada şu 
els = document.querySelectorAll('div[col-id="differencePercent"]   ')
tüm div elementlerinin col-id attributte olup değerinin de differencePercent olanlarını bir diziye al.

bu kod sonucu zaten sağ alttaki memoya veriler akmaya başlıyor.