Vb.net Selenium ile Chromeden bilgi çekelim

Durum
Üzgünüz bu konu cevaplar için kapatılmıştır...
Tutti mi chiedono perché ho imparato questa lingua
Süper Üye
Katılım
17 Mar 2016
Mesajlar
634
Çözümler
5
Tepki puanı
112
Ödüller
11
10 HİZMET YILI
Öncelikle Selamun Aleyküm(sevap point kasalım birazcık .d)

Seleniumla neler yapılabilir, neler yapılamazki :) örneğin bir siteden bütün filmlerin bilgilerini çekebilir youtube kanalınıza abone olunca form geçişi yaptırabilir sitelerdeki reklamlara tıklattırabilir link kısaltma servislerinin botunu yapabilirsiniz açıkçası hayal gücünüze kalmış bir şey, ben bugün dizi sitesinden formumuza nasıl dizi resimleri çekilir onu gösterecem siz kendiniz geliştirebilirsiniz.

Öncelikle Visual studiodan formunuza indirmeniz gereken şeyler var onuda proje kısmından nuget paketlerini yönet kısmından indiricez o sekmeye girdikten sonra gözat kısmına gelip şu dosyları aratıp indirin:
-Selenium.WebDriver
-Selenium.WebDriver.IEDriver
-Selenium.WebDriver.ChromeDriver
-Selenium.Chrome.WebDriver
Şimdi bunları indirdikten sonra formumuza şunları import edelim yani import edelimden kastım form1 in üstüne tanımlayacaz:
-Imports OpenQA.Selenium
-Imports OpenQA.Selenium.Chrome
Imports OpenQA.Selenium.By
Bunlarıda import ettikten sonra form1 in altına şunları tanımlayalım:
-Dim driver As ChromeDriver
-Dim service As ChromeDriverService = ChromeDriverService.CreateDefaultService
Evet buda bitti şimdi form1 load kısmına gelelim ve şu kodları ekleyelim:
-service.HideCommandPromptWindow=true 'burası consolu gizler ne olduğunu görmek istiyosanız false yapabilirsiniz
-driver = New ChromeDriver(service) 'burada formu başlattığınızda bitane chrome açılacak bu chrome üzerinden işlem gerçekleştireceğiz sakın kapatmayın
-driver.Navigate().GoToUrl("
Bağlantıları görmek için lütfen Giriş Yap
")'burada siteye yönlendiriyoruz, http li göndermeniz lazım yoksa gitmez yani şöyle göndermelisiniz
Bağlantıları görmek için lütfen Giriş Yap
tarzı
'şimdi dizilla sitesini kendi tarayıcınızda açın bilgi almak istediğiniz şeyin üstüne gelip sağ tıklayın öğeyi denetle diyin ondan sonra karşıda açılan consoldan seçip onada sağ tıklayın copy diyin ve ordanda xpath i seçin sonra
System.Threading.Thread.Sleep(300) ' burada delay ekledim çünkü chrome de sekme açıldığı gibi seçmesini istemiyorum sizde her şeyde delay eklemelisiniz yoksa program istenilen elementleri hemen bulamaz ve hata verir
Dim diziler As IWebElement = driver.FindElement(By.XPath("//*[@id='popular_turkce_altyazi']/div[1]/div[1]/a/img")) ' diyerek elemente erişiyoruz ama biz resim alacaz bunun src sine erişmemiz gerekiyor çünkü html de resim bunun içindeki src de saklı onun içinde şöyle yapcaz
System.Threading.Thread.Sleep(300) ' yine delay ekledim
Dim src As String = diziler.GetAttribute("src") ' böyle yaparak src linkini stringe atadım
System.Threading.Thread.Sleep(300) ' yine delayy :)
PictureBox1.Load(src) 'diyip pictureboxumuza resmimizi çektik şimdi formu çalıştırıp görebiliriz
Adsız.png


şimdi diyeceksiniz biz bunları yaptık ama sitenin o kısmında yüzlerce resim var böyle formumuza 100 tane picturebox koyup her src yi ayrı ayrı çekip picturebox a load mı edicez diye
cevabım hayır bu işlemleri for döngüsü içerisinde yapabilirsiniz o döngü içinde picturebox oluşturup tarayıcıdan çekip pictureboxa load edersiniz öylece otomatik oluşur yani şunu demek istiyorum benim kullandığım sitedeki 1.resmin xpath i şu
//*[@id="popular_turkce_altyazi"]/div[1]/div[1]/a/img
şimdi 2. resmin xpath ine bakın
//*[@id="popular_turkce_altyazi"]/div[1]/div[2]/a/img
değişikliği fark ettinizmi sadece sondaki 1 değişip 2 oluyor oraya döngüden olan integeri stringe çekip koyacaksınız böylece oto şekilde kaçtane resim varsa çekecek
örnek
For x As Integer = 1 To 100
Try
Dim diziler As IWebElement = driver.FindElement(By.XPath("//*[@id='popular_turkce_altyazi']/div[1]/div[" + x.ToString() + "]/a/img"))
System.Threading.Thread.Sleep(300)
Dim src As String = diziler.GetAttribute("src")
'burada ise picturebox oluşturup load edeceksin farklı konumlarda
Catch ex As Exception

End Try
Next
Böylece src yi oto alacak
bunu geliştirerek loaderlerinize gelişmiş reklam sistemleri yapabilirsiniz sonra başka başka şeyler işte size kalmış :) umarım selenium u sevmişsinizdir :D
 
Banlı Üye
Katılım
7 Haz 2020
Mesajlar
302
Tepki puanı
8
Yaş
25
5 HİZMET YILI
dostum dil sürümünü öğrenmeden bişey yapamayız onu öğren söyle bana yaparım
 
Onaylı Üye
Katılım
13 Ara 2019
Mesajlar
52
Tepki puanı
3
Ödüller
5
Yaş
28
6 HİZMET YILI
dil sürümünü ögrenebilirsen ben ayarlarım
 
Tutti mi chiedono perché ho imparato questa lingua
Süper Üye
Katılım
17 Mar 2016
Mesajlar
634
Çözümler
5
Tepki puanı
112
Ödüller
11
10 HİZMET YILI
dil sürümü ne alaka :D kafana göre yap kodlarda bir şey değiştirmene gerek yokki bu kodlar her pc de her visual studioda işe yarar bi tek nuget kısmından güncel webdriver indirmeniz gerekiyor ?
 
Üye
Katılım
25 Tem 2020
Mesajlar
41
Çözümler
1
Tepki puanı
1
Yaş
25
5 HİZMET YILI
Chromeden hakkında fazla bişey bilmiyorum bana öğretirmisiniz
 
Seçkin Üye
Katılım
25 Tem 2020
Mesajlar
323
Çözümler
4
Tepki puanı
10
Ödüller
2
Yaş
26
5 HİZMET YILI
.net framewörk sürümü kaç dostum olmadı bende
 
Hile kullanmak kolsuzluk değil akıllılıktır
Banlı Üye
Katılım
16 May 2019
Mesajlar
1,073
Çözümler
8
Tepki puanı
204
Ödüller
4
Yaş
24
7 HİZMET YILI
eline sağlık fakat çok karışık anlatmışsın
 
Onaylı Üye
Katılım
11 Ağu 2020
Mesajlar
52
Tepki puanı
0
Ödüller
4
Yaş
27
5 HİZMET YILI
öğren söyle bana sıkıntı reis mozilla
 
Durum
Üzgünüz bu konu cevaplar için kapatılmıştır...
Üst