Vb.Net Webbrowser Nesnesinde Tıklanan Linki Kopyalama
-
arkadaşlar bir proje üstünde yoğunlaştım ama takıldım kaldım bi yerde.
şimdi webbrowser var bi tane onun üzerindeki arama kısmına veri girmek için textbox ve button ayarladım.
buttona basınca textboxda yazılı olan veri sayfaya giriyor ve aramayı yapıyor. çıkan sonuçlar görüntüleniyor.
linkler halinde listeleniyor. linklerden birine tıklayınca tıklanan linkin başka bir textbox'a yazmasını ve webbrowserın tıklanan linke yönlendirmemesini istiyorum.
bunu nasıl yapabilirim?
denediğim şey ise şu linke tıklanınca aktif linkin bağlantısını kopyalayabiliyorum veya erişebiliyorum. ancak problem şu ki sayfanın adresi değişince link textboxa geliyor ve gidiveriyor ben de veriyi elde edemiyorum. DocumentTitleChanced eventinde deniyorum olmuyor. ikinci bir webbrowser kullanayım dedim yine olmadı.
proje dosyası:
http://www.kuytul.com/youtube/test/YT-VIDEO.rar
-
Document completed event ıyla yapabilirsin hocam değiştiğinde çıkan adresi textbox a atarsın.
Zaten google a baktım document completed deyince senin soruna cevap geliyor
http://stackoverflow.com/questions/11763189/webbrowser-document-completed-event-c-sharp
Burada messagebox yerine textbox.text deyip değer ata
Edit: c# için yazmışım :/ ama vb.nette de aynı mantık hocam
by_Tet tarafından 09/Ağu/14 17:35 tarihinde düzenlenmiştir -
denedim olmadı malsef. yeni sayfada link açtırırken sorun yok. ama aynı sayafada açtırırken documenttitlechanced veya documentcomplated olayında da sonuç alamıyorum. link yeni sayfada açılıyorsa newwindow eventiyle webbrowserdan bilgiyi alıyorum.
aslında linke tıklanınca sayfaya yönelmese de benim için iyi olur. mesela link olsa tıklansa ama tıklanınca sayfa değişmese süper olur. sadece aktif linki alırım. başka sayfaya da geçmek zorunda kalmaz webbrowser. webbrowserdaki internet sayfası da benim gerekli değişikliği yapabiliyorum.
-
yenisayfada açtırma halini kodların bulunduğu projeyi yükledim
http://www.kuytul.com/youtube/test/YT-VIDEO2.rar
bunun aynı sayfada açılan halini yapmam ve linki alınca webbrowserın geri aynı sayfaya dönmesi gerekiyor.
-
olayı çözdüm hocam.. pm ile teamviewer yolla yapalım..
-
tw yok malesef. kısaca anlatabilir misin veya kritik yerdeki kodlamayı yazabilirsen memnun olurum.
-
anladığım kadarıyla linke tıkladığında harici bir pencere açılıyor ( linklerin target attribute u _blank olarak ayarlanmış), bu sebepten dolayı yönlenme olmuyor..
yönlenme olması için webbrowser ın içerisinde bir değişiklik olması gerekiyor. Bu değişiklik için linklerin target ın _blank olan değerini _self yaparsan istediğin yönlenmeyi alırsın..
webbrowser ın arkaplanında tabi ki html kodları var... tüm linkleri bir koleksiyon olarak toplarsın sonra setattribute ile target i, _blank dan _self e çevirirsen artık linkler tıklandığında içerideki navigation çalışır...
Dim arandi As Boolean = False Dim linkDegisti As Boolean = False Private Sub muzik_ara_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles muzik_ara.Click WebBrowser1.Navigate("http://www.kuytul.com/youtube/test/search/" & TextBox4.Text) arandi = True End Sub Private Sub WebBrowser1_DocumentCompleted(ByVal sender As System.Object, ByVal e As System.Windows.Forms.WebBrowserDocumentCompletedEventArgs) Handles WebBrowser1.DocumentCompleted If (WebBrowser1.Url.AbsoluteUri = e.Url.AbsoluteUri) Then If (arandi) Then arandi = False Dim linkler = WebBrowser1.Document.GetElementsByTagName("a") For Each link As HtmlElement In linkler link.SetAttribute("target", "_self") Next linkDegisti = True Else If (linkDegisti) Then linkDegisti = False TextBox3.Text = WebBrowser1.Url.AbsoluteUri End If End If End If End SubWebBrowser1_DocumentTitleChanged in içindeki
TextBox3.Text = Href
sil bu kısmı..

edit: muzik_ara_Click kısma da arandi = true yazmıştım onu yukarı eklemeyi unuttum düzenledim şimdi
unbalanced tarafından 09/Ağu/14 18:17 tarihinde düzenlenmiştir -
sağolasın denedim oldu.
son if bölümüne de
WebBrowser1.Navigate("http://www.kuytul.com/youtube/test/search/" & TextBox4.Text)
arandi = True
ekledim goback komutuyla aynı oldu. süper oldu bu haliyle :)
Allah razı olsun. bütün gün buna uğraştım. hanım evden kovacaktı :D
Taktın mı fena takıyorsun :)
