E-Bildirge İşlemlerinde Webbrowser Sorunu

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
Kullanıcı avatarı
kocivan
Üye
Mesajlar: 30
Kayıt: 29 Kas 2013 01:21

E-Bildirge İşlemlerinde Webbrowser Sorunu

Mesaj gönderen kocivan »

Herkeze iyi günler,
E-Bildirege işlemlerini otomatikleştirmek için bir uygulama geliştiriyorum. Uygulamamda iki adet webbrowser kullandım webbrowser1 ve webbrowser2. Webbrowser2 de giriş ekranını açıyorum ilgili bilgileri doldurulduktan sonra Captc için resmi indirip captc yi çözüp giriş yapılıyor giriş yapılınca site ikinci bir explorer açıyor newwindow2 eventını kullanarak açılan ikinci pencereyi webbrowser1'e yönlendiriyorum sisteme giriş yaptıktan sonra geçmiş dönem borç sorgulaması yapmak için webbrowser1 de dolaşırken sistemden güvenli çıkış yapıldı deyip beni atıyor. Acaba sorun ne olabilir. Kodları aşağıda veriyorum.

Siteye giriş ve borç sorgulama ekranına geçiş kodu

Kod: Tümünü seç

procedure TForm1.pcEbilGiris;
begin

  tmr1.Enabled:=False;
  WebBrowser2.BringToFront;
   WebBrowser2.Navigate('https://ebildirge.sgk.gov.tr/WPEB/amp/loginldap');

   while WebBrowser2.ReadyState <> READYSTATE_COMPLETE do
  begin
    Sleep(1);
    Application.ProcessMessages;
  end;
     WebBrowser2.Refresh;

       while WebBrowser2.ReadyState <> REFRESH_COMPLETELY do
  begin
    Sleep(1);
    Application.ProcessMessages;
  end;
      dzISYERIID:=sp1.FieldByName('İşyeriID').Value;
      WebBrowser2.OleObject.Document.getElementByID('j_username').Value:=sp1.FieldByName('KULLANICI KODU').Text;
    WebBrowser2.OleObject.Document.getElementByID('isyeri_kod').Value:=sp1.FieldByName('KUL KOD').Text; 
      WebBrowser2.OleObject.Document.getElementByID('j_password').Value:=sp1.FieldByName('SİS ŞİFRESİ').Text;
    WebBrowser2.OleObject.Document.getElementByID('isyeri_sifre').Value:=sp1.FieldByName('İŞY ŞİFRESİ').Text;

       tmr1.Enabled:=True;

    while True do
     begin
        Application.ProcessMessages;
        Sleep(1);
         if WebBrowser1.LocationURL='https://ebildirge.sgk.gov.tr/WPEB/amp/loginldap' then
        begin

        ShowMessage('1');
        WebBrowser1.Navigate('https://ebildirge.sgk.gov.tr/WPEB/amp/donemBorcGoruntule');
        Break;
        end;

     end;

end;
Açılan ikinci pencereyi webbrowser1'e yönlerdiğim kod

Kod: Tümünü seç

procedure TForm1.WebBrowser2NewWindow2(ASender: TObject; var ppDisp: IDispatch;
  var Cancel: WordBool);
begin
ppDisp :=  WebBrowser1.DefaultInterface;
end;
Lord_Ares
Üye
Mesajlar: 1070
Kayıt: 15 Eki 2006 04:33
Konum: Çorlu

Re: E-Bildirge İşlemlerinde Webbrowser Sorunu

Mesaj gönderen Lord_Ares »

Sanırım yeni sayfada açılırken session kaybediyor bu yüzden olabilir. bununla ilgili olarak bu başlığı incelermisin.

WebBrowser Yeni Açılan Sayfada Session Kaybolması Sorunu


viewtopic.php?f=2&t=31457&hilit=webbrow ... w2#p170214
Kullanıcı avatarı
kocivan
Üye
Mesajlar: 30
Kayıt: 29 Kas 2013 01:21

Re: E-Bildirge İşlemlerinde Webbrowser Sorunu

Mesaj gönderen kocivan »

Merhabalar,
Cevap için teşekkürler yönlendirdiğiniz başlığı inceledim session kaybediyor olabilir ilginç olan ilk defa çalışsa da bazen çalışıp bazen çalışmaması Twebbrowser değilde TInternetExplorer kullandığımda herhangi bir sorun yaratmadı herhalde Twebbrowser kullanmayacağım tabi başka sorun yaşamazsam.
Lord_Ares
Üye
Mesajlar: 1070
Kayıt: 15 Eki 2006 04:33
Konum: Çorlu

Re: E-Bildirge İşlemlerinde Webbrowser Sorunu

Mesaj gönderen Lord_Ares »

sanırım Tinternetexplorer windowsta temp kısmında sessionları otoamatik oluşturup tutuyor bu yüzden olabilir. Dolayısı ile o konuda bahsedilen idsesion ve cookie kullanarak belki webbrowser ilede yapabilirsiniz. Webbrowser ile olursa hakimeyetiniz daha fazla olur fikrindeyim.
Kullanıcı avatarı
kocivan
Üye
Mesajlar: 30
Kayıt: 29 Kas 2013 01:21

Re: E-Bildirge İşlemlerinde Webbrowser Sorunu

Mesaj gönderen kocivan »

Evet dediğiniz gibi olabilir. Webbrowserla olması tabi ki işimi kolaylaştırır idsesion ve cookiemanager konularını inceleyip yapmayı deneyeceğim. Teşekkürler.
Cevapla