Konuyu Paylaş : facebook gplus twitter

Konuyu Oyla:
  • Derecelendirme: 4.5/5 - 2 oy
  • 1
  • 2
  • 3
  • 4
  • 5
Twebbrowser readystate_complete
#1
Question 
Merhaba, aşağıdaki koda navigate trendyolu eklediğimde READYSTATE_COMPLETE e gelip showmessage satırım çalışıyor ama kur.doviz deki sayfayı navigate etiğimde READYSTATE_COMPLETE e gelmiyor bazen bir kaç defa buttona tıkladığımda geliyor bu sayfada farklı olan nedr?
WebBrowser1.Navigate('http://kur.doviz.com/serbest-piyasa/euro');
//  WebBrowser1.Navigate('https://www.trendyol.com/');

 repeat
   Application.ProcessMessages;
 until (WebBrowser1.ReadyState = READYSTATE_COMPLETE);
 ShowMessage('Tamam');

“Do. Or do not. There is no try.”
Cevapla
#2
Merhaba,
Trendyol web sitesinde, sayfa yüklenmesinin tam olarak bitmemesinden kaynaklanıyor.
Belirtmiş olduğunuz sayfayı Scroll ile aşağı doğru gezinerek son frame (kutucuk, layout) yükleninceye kadar bekleyin.
Böylece ShowMessage('Tamam'); metodunuzun çalıştığını göreceksiniz.
While true do; Hayat döngüsü, kısır değildir! Yapılan bir yanlış, o döngünün dışına çıkmanızı sağlayacaktır.
WWW
Cevapla
#3
(05-12-2016, Saat: 10:41)Fesih ARSLAN Adlı Kullanıcıdan Alıntı: Linkleri Görebilmeniz İçin Giriş yap veya Üye OlMerhaba,
Trendyol web sitesinde, sayfa yüklenmesinin tam olarak bitmemesinden kaynaklanıyor.
Belirtmiş olduğunuz sayfayı Scroll ile aşağı doğru gezinerek son frame (kutucuk, layout) yükleninceye kadar bekleyin.
Böylece  ShowMessage('Tamam'); metodunuzun çalıştığını göreceksiniz.

Hocam aslında trendyolda tamam a geliyor kur.doviz de gelmiyor kur.dovizdeki reklamlardan olduğunu tahmin ediyorum.
Amacım kurları almaktı onu da
Linkleri Görebilmeniz İçin Giriş yap veya Üye Ol
Linkleri Görebilmeniz İçin Giriş yap veya Üye Ol
Linkleri Görebilmeniz İçin Giriş yap veya Üye Olburadaki en alt satırlardaki bilgiyi alarak halletim.

“Do. Or do not. There is no try.”
Cevapla
#4
TWebBrowser'ın eventlerini kullanmayı deneyebilirsiniz. Birden fazla DocumentComplete event'i tetiklendiği için Event_Raised diye bir değişken tuttum, neden böyle bir şey yaptığına bakmak lazım ayrıca ama istediğiniz sonuca varıyor sanırım.

type
 TForm1 = class(TForm)
   WebBrowser1: TWebBrowser;
   Button1: TButton;
   procedure Button1Click(Sender: TObject);
   procedure WebBrowser1DocumentComplete(ASender: TObject;
     const pDisp: IDispatch; const URL: OleVariant);
 private
     Event_Raised: Boolean;
   { Private declarations }
 public
   { Public declarations }
 end;

var
 Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
begin
  Event_Raised := False;
  WebBrowser1.Navigate('http://kur.doviz.com/serbest-piyasa/euro');
  //WebBrowser1.Navigate('https://www.trendyol.com/');
end;

procedure TForm1.WebBrowser1DocumentComplete(ASender: TObject;
 const pDisp: IDispatch; const URL: OleVariant);
begin
  if not Event_Raised then
  begin
     Event_Raised := True;
     ShowMessage('Doc Completed');
  end;
end;

end.
Cevapla
#5
Alternatif olarak Linkleri Görebilmeniz İçin Giriş yap veya Üye Ol kullanabilirsiniz. Merkez Bankası verileri XML formarında olduğundan, yorumlanması son derece hızlıdır.
While true do; Hayat döngüsü, kısır değildir! Yapılan bir yanlış, o döngünün dışına çıkmanızı sağlayacaktır.
WWW
Cevapla
#6
(05-12-2016, Saat: 15:05)Fesih ARSLAN Adlı Kullanıcıdan Alıntı: Linkleri Görebilmeniz İçin Giriş yap veya Üye OlAlternatif olarak Linkleri Görebilmeniz İçin Giriş yap veya Üye Ol kullanabilirsiniz. Merkez Bankası verileri XML formarında olduğundan, yorumlanması son derece hızlıdır.

Hocam Onu başka projemde kullanıyorum (TCMB yi) Eminönü piyasası oradan hesaplarsa zarar ediyormuş  Smile serbest piyasa satış fiyatından mal satıyorlar ilk defa gördüğüm duyduğum şekilde mal satıyorlar müşterinin bir faturasında 3-4 farklı parabiriminden ürünler olup Müşteri isterse bunların hepsini her ürünün kendi parabiriminden isterse hepsini usd, tl, euro, frang gibi tek kalemde ödeyebiliyormuş. şimdilik kur çekme ile ilgili sıkıntım kalmadı idhhtp ile stringliste alıp oradan son satırdaki bilgilyi parse ediyorum webbrowserın azizliğini bende farketim ondocument complete de @edo arkadaşın önerisini test edeceğim.

“Do. Or do not. There is no try.”
Cevapla

Konuyu Paylaş : facebook gplus twitter



Konu ile Alakalı Benzer Konular
Konular Yazar Yorumlar Okunma Son Yorum
  TWebBrowser PDF Olarak Kaydetme narkotik 9 251 02-04-2018, Saat: 17:25
Son Yorum: narkotik
  SOAP içinde TWebbrowser kullanımı hk. barutali 7 551 13-07-2017, Saat: 15:44
Son Yorum: yhackup



Konuyu Okuyanlar: 1 Ziyaretçi