• 22-01-2022, 23:11:28
    #1
    Selamlar, bir sorum var.

    İnternette araştırdım fakat pek sağlıklı sonuçlar bulamadım. İnsanlar papağan gibi sürekli aynı şeyleri yazmışlar.

    C# ta bir uygulama geliştiriyorum.

    Bir webbrowser var ve bir internet site ziyaret ediyor. İnternet sitede de bir yere tıklamasını ve bu işlemi otomatik yapmasını istiyorum.

    Yazılımı butonlar ile yaptığım zaman bir problem olmuyor. Browser sayfayı açıyor, butona tıklıyorum ve butona tıklamam ile ziyaret edilen internet sitedeki ilgili linke tıklanıyor.

    Fakat ben bunu otomatik yapmak istediğim zaman işlemler çok hızlı gerçekleştiği için webbrowser da ilgili sayfa açılmadan kod kaynak kodu almaya çalışıyor ve kaynak kod bulamadım diye hata veriyor. Dolayısıyla ilgili linke tıklayamıyor.

    Öncelikle ilgili adrese girmesi, sayfanın açılması için belli bir süre bekemesi ve site ziyaret edildikten sonra ilgili sitenin kaynak kodunun çekilerek linke tıklanması gerekiyor.

    Fakat ilk görev tamamlanmadan ikinci göreve geçmeye çalıştığı için hata alıyorum.

    İnternette thread.sleep komutu önerilmiş sürekli fakat bu komut yazılımın sadece belli süre geç açılmasını sağlıyor, sonuç değişmiyor.

    Önerilerinizi bekliyorum. Teşekkürler.
  • 22-01-2022, 23:12:47
    #2
    Selenium kullan
  • 22-01-2022, 23:14:09
    #3
    hocam yazdıklarınız okunmuyor ki
  • 22-01-2022, 23:14:40
    #4
    private void webBrowser1_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e)
    {
    //Check if page is fully loaded or not
    if (this.webBrowser1.ReadyState != WebBrowserReadyState.Complete)
    return;
    else
    //Action to be taken on page loading completion
    }
  • 22-01-2022, 23:18:25
    #5
    Akiser adlı üyeden alıntı: mesajı görüntüle
    private void webBrowser1_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e)
    {
    //Check if page is fully loaded or not
    if (this.webBrowser1.ReadyState != WebBrowserReadyState.Complete)
    return;
    else
    //Action to be taken on page loading completion
    }
    Teşşekkürler Kaç saattir araştırıyorum herkes papağan gibi aynı şeyleri söylemiş.
    Bir hayli işimi görecek.
  • 22-01-2022, 23:20:01
    #6
    Açılacak sayfanın kaynak kodunu sürekli kontrol eden bir metot yazabilirsin.

    Örnek

    Açılacak sayfada buton un xpath i ni al. Sürekli kontrol ettir. Bulamazsa 3 sn daha beklet mesela. Bunu da while döngüsüne Sok. False olduğunda (bulduğunda) tıklama fonksiyonunu çalıştır.


    Farklı yollar için konuyu takipte olacağım
  • 22-01-2022, 23:21:13
    #7
    Arkadaş yazmış zaten doğrusunu gözümden kaçmış.