webbrowserda Click işlemini farklı yöntem kulanma

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Kullanıcı avatarı
dogan
Üye
Mesajlar: 173
Kayıt: 17 Eki 2014 10:11

webbrowserda Click işlemini farklı yöntem kulanma

Mesaj gönderen dogan »

Merhaba,


webbrowserda clik işlemini (WebBrowser1.OleObject.Document.Links.item(I).Click;) dediğimde işlem gerçekleşiyor, fakat bu yöntem dışında linkke clik işlemini nasıl yaptıra bilirim?
Kullanıcı avatarı
brs
Üye
Mesajlar: 626
Kayıt: 04 Eki 2012 03:52

Re: webbrowserda Click işlemini farklı yöntem kulanma

Mesaj gönderen brs »

Ben bu yöntemi kullanıyorum zaman, zaman sıkıntı olmuyor...

Kod: Tümünü seç

WebBrowser1.OleObject.Document.Links.item(I).Click;
İşi bilen yardım eder, az bilen akıl verir, bilmeyen eleştirir, yapamayan ise çamur atar...
Kullanıcı avatarı
dogan
Üye
Mesajlar: 173
Kayıt: 17 Eki 2014 10:11

Re: webbrowserda Click işlemini farklı yöntem kulanma

Mesaj gönderen dogan »

brs yazdı:Ben bu yöntemi kullanıyorum zaman, zaman sıkıntı olmuyor...

Kod: Tümünü seç

WebBrowser1.OleObject.Document.Links.item(I).Click;

Selam...

Normelde bu yöntemi kullandığımda click işlemi gerçekleşiyor, anlayamadığım şey ise bir linke bu yöntem ile tıkladığımda sayaç saymıyor fakat mouse ile manuel olarak tıklama yapınca sayaç artı bir ekliyor.

Bu durumda ne yapmalıyım...
Kullanıcı avatarı
Serhat
Üye
Mesajlar: 203
Kayıt: 27 Tem 2014 11:10

Re: webbrowserda Click işlemini farklı yöntem kulanma

Mesaj gönderen Serhat »

"WebBrowser1.OleObject.Document.Links.item(I).Click;" bunun dışında yok bildiğim kadarıyla
Kullanıcı avatarı
brs
Üye
Mesajlar: 626
Kayıt: 04 Eki 2012 03:52

Re: webbrowserda Click işlemini farklı yöntem kulanma

Mesaj gönderen brs »

Kod: Tümünü seç

http://www.delphiturkiye.com/forum/viewtopic.php?f=2&t=33371

Kod: Tümünü seç

var
  Doc: IHTMLDocument2;
  Links: IHTMLElementCollection;
  aLink: IHTMLElement;
  i: integer;
begin
  Doc := WebBrowser1.Document as IHTMLDocument2;
  Links := Doc.Links;
  for i := 0 to Links.Length-1 do
  begin
    aLink := Links.Item(i, EmptyParam) as IHTMLElement;
    if aLink.ClassName = 'sb_pagN' then
      aLink.Click;
  end;
İşi bilen yardım eder, az bilen akıl verir, bilmeyen eleştirir, yapamayan ise çamur atar...
Kullanıcı avatarı
dogan
Üye
Mesajlar: 173
Kayıt: 17 Eki 2014 10:11

Re: webbrowserda Click işlemini farklı yöntem kulanma

Mesaj gönderen dogan »

bu yöntemde a href tıklaya bilirim ki yardım ederseniz sevinirim...

Kod: Tümünü seç

var
  Doc: IHTMLDocument2;
  Links: IHTMLElementCollection;
  aLink: IHTMLElement;
  i: integer;
begin
  Doc := WebBrowser1.Document as IHTMLDocument2;
  Links := Doc.Links;
  for i := 0 to Links.Length-1 do
  begin
    aLink := Links.Item(i, EmptyParam) as IHTMLElement;
    if aLink.ClassName = 'sb_pagN' then
      aLink.Click;
  end;
osiso
Üye
Mesajlar: 46
Kayıt: 02 Eki 2007 05:56
Konum: İSTANBUL
İletişim:

Re: webbrowserda Click işlemini farklı yöntem kulanma

Mesaj gönderen osiso »

merhabalar bende web sitesi parse işleriyle uğraşıyorum o yüzden ilgimi çekti hangi sitenin butonuna tıklatmak istiyorsanız yazarsanız yada örnek verirseniz bende size bir kaç çözüm önerisi sunabilirim.
Kullanıcı avatarı
dogan
Üye
Mesajlar: 173
Kayıt: 17 Eki 2014 10:11

Re: webbrowserda Click işlemini farklı yöntem kulanma

Mesaj gönderen dogan »

Selam, google da seçmiş olduğum linke tıklama işlemi için aşıdaki kodları kullanıyorum sorunda olmuyor, fakat organik sıralama için bir şey ifade etmiyor doğrudan giriş olarak algılıyor...


webbrowser1.OleObject.Document.links.Item(I).click;

webbrowser1.Navigate(webbrowser1.OleObject.document.links.item(i).href);
Kullanıcı avatarı
mrmarman
Üye
Mesajlar: 4741
Kayıt: 09 Ara 2003 08:13
Konum: İstanbul
İletişim:

Re: webbrowserda Click işlemini farklı yöntem kulanma

Mesaj gönderen mrmarman »

Navigate kullanırsan referans kaybedersin.
Link artmayan site neden artmıyor olayına bir bak. USER-AGENT, REFERER değerleri ile ilgili olabilir.

Daha önce google üzerinden hit arttırma üzerine çalıştım. Bu forumda örnek de paylaştım. bkz. bu link
Resim
Resim ....Resim
Kullanıcı avatarı
dogan
Üye
Mesajlar: 173
Kayıt: 17 Eki 2014 10:11

Re: webbrowserda Click işlemini farklı yöntem kulanma

Mesaj gönderen dogan »

mrmarman yazdı:Navigate kullanırsan referans kaybedersin.
Link artmayan site neden artmıyor olayına bir bak. USER-AGENT, REFERER değerleri ile ilgili olabilir.

Daha önce google üzerinden hit arttırma üzerine çalıştım. Bu forumda örnek de paylaştım. bkz. bu link


Hocam vermiş olduğunuz link dahil bir çok kod test ettim, gerçekten on numara denilebilecek bir çalışma ancak sanırım gözünüzden kaçan bir durum var
oda analytics, canlı olarak test ettim doğrudan giriş olarak google görüyor yani organik olarak değil sizden ricam test etmeniz ne demek isteğimi anlarsınız saygılarımla...
Kullanıcı avatarı
mrmarman
Üye
Mesajlar: 4741
Kayıt: 09 Ara 2003 08:13
Konum: İstanbul
İletişim:

Re: webbrowserda Click işlemini farklı yöntem kulanma

Mesaj gönderen mrmarman »

Sayacı artacak site GOOGLE taraması ile çıkan bir site değil mi ? Bu Google taramasındaki linke tıkladığınızda referer kodu üretilir ve hangi referans ile bu siteye gelindiği görülür.

Siteye aktarılan HEADER bilgilerindeki REFERER kodunda bakacaksınız. Mouse ile tıklayınca ile kendi projenizden click edilince aralarındaki farka bakacaksınız. Ben iddia ediyorum ki fark yok. Ama diyorsan sayaç artmıyor bunu kendin sorgulayıp bulacaksın.

HEADER kısmında USER-AGENT kısmı da kullandığın Internet Browser hangisi ise onu ifade eden string ifade yer alır.

Bunları biliyor olman lazım neden anlatıyorum ki ? TEST edeceğin kısım bu bilgilerin karşı tarafa nasıl aktarıldığını sorgulayıp sorunun kaynağını aramak.
Resim
Resim ....Resim
Kullanıcı avatarı
Serhat
Üye
Mesajlar: 203
Kayıt: 27 Tem 2014 11:10

Re: webbrowserda Click işlemini farklı yöntem kulanma

Mesaj gönderen Serhat »

dogan arkadaşıma katılıyorum twebbrowserda manuel olarak tıkladığında organik, kod ile tıklama gerçekleştiğinde doğrudan giriş "analytics" görülmekte...
Kullanıcı avatarı
mrmarman
Üye
Mesajlar: 4741
Kayıt: 09 Ara 2003 08:13
Konum: İstanbul
İletişim:

Re: webbrowserda Click işlemini farklı yöntem kulanma

Mesaj gönderen mrmarman »

Tekrar ediyorum, gönderi referansını karşı taraftan kontrol edip öyle cevap yazın.

Twebbrowser değil Explorer.Application yani tümüyle InternetExplorer'in kendisi kullanılmak üzere çalışır. Formda yazdığım son 10 mesajdan üçü buna örnek içeriyor. Biraz araştırmışsınızdır. Görmediyseniz şimdi tam zamanı.

Webbrowser html5 vb ileri düzey java eventlerini işletemez hata verit. Boşuna mı silent := true; diyoruz ? Explorer Application java olaylarını daha doğru çalıştırır.

Element Click olayında eğer onclick eventi yoksa mouse over kodları javascript ile çalıştırılmalıdır.

Bir site koyun, gelen çağrıyı kendiniz kontrol edin. Profesyonel bakış, kendini karşıdakinin yerine koyup simülasyon yapabilmektir.

Başarılar.
Resim
Resim ....Resim
Kullanıcı avatarı
dogan
Üye
Mesajlar: 173
Kayıt: 17 Eki 2014 10:11

Re: webbrowserda Click işlemini farklı yöntem kulanma

Mesaj gönderen dogan »

Bu yöntemi denedim bir sonuç alamadım, yazılım konusunda yolun başındayım ama şimdiden hüsrana uğramak insanda motivasyonu düşürüyor...

Kod: Tümünü seç

 WB1.OleObject.Document.links.Item(I).mouse_event(MOUSEEVENTF_LEFTDOWN, 0, 0, 0, 0);
 WB1.OleObject.Document.links.Item(I).mouse_event(MOUSEEVENTF_LEFTUP, 0, 0, 0, 0);
Kullanıcı avatarı
dogan
Üye
Mesajlar: 173
Kayıt: 17 Eki 2014 10:11

Re: webbrowserda Click işlemini farklı yöntem kulanma

Mesaj gönderen dogan »

mrmarman yazdı: Element Click olayında eğer onclick eventi yoksa mouse over kodları javascript ile çalıştırılmalıdır.

Sayın hocam kaç gündür kurcalıyorum fakat kocama bir sıfır sizden ricam twebbrowser da "javascript" ile nasıl yapabiliriz yardımcı olur musunuz...
Cevapla