Selamlar.
Bir websayfam var, sayfa load olduğunda bir javascript çalıştırılıyor webbrowserdaki "deneme" id li divin içine birtakım string bilgiler yerleştiriyor.
divin içine kodları yerleştirdikten sonra dahi olsa kaynak kodundan bakıldığında yerleşen kodlar görünmüyor sonradan eklendiği için.
javascript tarafında yerleştirilen bu kodları almanın bir yolu var mıdır.
webclient ile veya webbrowser ile denedim ama kaynak kodlarda dediğim gibi o kodlar olmadığı için alamıyorum.
teşekkürler.
C# veya VB.NET Sayfa Kaynak Kodu Almak
5
●1.122
- 23-03-2015, 11:14:26muhtemelen ajax ile çekiliyor veriler.. id sini biliyorsan aslında çekebilmen lazım geldikten sonra, tabi ki zaman olayı önemli.. öncelikle normal browser ile deneyip id sine bak verinin ve aynısını webbrowser ında kullan. kaynak koduna bakmak yerine direk htmlelement olarak div i ya da her neyse onu al..
bazıları özel kontrol geliştiriyor öyle bir şeyse farklı yöntemler denemen lazım.
bir de ağı sniff edebilirsin, bunun için fiddler tarzı programları incelersen get/post dan gelen verileri okuduğunu göreceksin, benzer bir mantıkla sen de o şekilde hareket edebilirsin - 23-03-2015, 17:48:46Üyeliği durdurulduertan2002 adlı üyeden alıntı: mesajı görüntüle
betmo adlı üyeden alıntı: mesajı görüntüle
öneriler için teşekkürler.
sayfada veriler gösteriliyor ancak hiçbir şekilde divin içerisinde kaynak kodda görünmüyor sonradan append edildiği için.
htmlelement olarak da denedim olmadı. - 23-03-2015, 18:12:25Webbrowser ile aşağıdaki gibi alabilirsiniz ajax ile gelen veriyi.
webBrowser1.DocumentCompleted+=(o,e)=>
{
var element = webBrowser1.Document.GetElementById("div id değeri");
if(element.FirstChild == null)
{
webBrowser1.Update();
}
else
{
var data = element.FirstChild.InnetText;
}
};
Buradaki amaç document completed olayında webbrowser içindeki element çekilir. Eğer elementin içi boş ise ajax hala bitmedi demektir. Update ediyoruz browser'ı. Eğer ajax tamamlanmış ise update yaptığında veri gelecektir browser'a.. - 23-03-2015, 20:14:25ve de sayfaya gelen verilere bakarsan ki chrome de network altında görebilirsin, burada da sayfayı nasıl doldurduğunu görebilirsin. Onun dışında web browserin document_complete özelliği ajax vb. anlık güncellenebilen durumlarda işlevsel olmaz. Sayfa tam yüklenir ve completed eventini tetikler ama java öğeleri gelmez sıkıntı çıkartır.