9 Şubat 2016 Salı

WebBrowser Sınıfı

Giriş
Bir sayfa yüklendikten sonra bu bileşen bize html elemanlarına erişim imkanı tanır.

Constructor
Şöyle yaparız.
WebBrowser wb = new WebBrowser();
InvokeScript metodu
Şöyle yaparız.
wb.InvokeScript ("eval", "document.execCommand('Stop');");
Navigate metodu
Şöyle yaparız.
wb.Navigate ("http://stackoverflow.com/questions/30431004");
Şöyle de yaparız.
wb.Navigate (new Uri("http://www.google.com"));
Alanları
Document Alanı
HtmlDocument nesnesi döner. Document alanı bir sürü şey için kullanılıyor. HTML Dom'una erişmek için şöyle yaparız.
HtmlDocument doc = wb.Document;
ScrollbarsEnabled Alanı
Şöyle yaparız.
wb.ScrollBarsEnabled = false;
ScriptErrorsSuspended Alanı
Şöyle yaparız.
wb.ScriptErrorsSuppressed = true;
State Alanı
Navigate işleminin bitmesini beklemek için şöyle yaparız.
while (wb.ReadyState != WebBrowserReadyState.Complete) { Application.DoEvents(); }

Eventler
DocumentComplete - Sayfanın Yüklendiğini Belirtir
DOM'u yüklemek için önce bir adrese gitmek ve daha sonra adresin yüklenme işleminin bittiğini anlamak için kullanılır. Sayfaya eriştikten sonra içindeki bir ismi q olan html elemanına şöyle erişiriz.
wb.Navigate("http://stackoverflow.com/questions/30431004");
wb.DocumentCompleted += (o, args) =>
{
  var ele = webBrowser1.Document.All["q"];
  if (ele.TagName.ToLower() == "input")
  {
    ele.InnerText = "dsfs";
  }
};
Navigating ve Navigated
Şöyle yaparız.
void Window1_Loaded(object sender, RoutedEventArgs e)
{
  wb = new WebBrowser();
  wb.Navigate(new Uri("http://www.google.com"));
  wb.Navigating += new NavigatingCancelEventHandler(browser_Navigating);
  wb.Navigated += new NavigatedEventHandler(browser_Navigated);}

void browser_Navigating(object sender, NavigatingCancelEventArgs e)
{
  Console.WriteLine("Loading Webpage !!");
}

void browser_Navigated(object sender, NavigationEventArgs e)
{
  Console.WriteLine("Webpage Loaded !!");
}


Hiç yorum yok:

Yorum Gönder