Selenium ile Döngü Oluşturmak

Katılım
7 Kasım 2022
Mesajlar
8
Excel Vers. ve Dili
365,vb
Merhabalar,

Selenium ile oluşturduğum tabloda örneğin x.Get "https://www.google.com" yazdığım zaman bu siteden 11 adet bilgiyi macroyu başlattığım zaman alabiliyorum. Fakat ben her seferinde kodların içine spesifik bir link girmek yerine , a sütununa gireceğim linkler için bu 11 bilgiyi otomatik çektirmek istiyorum. Örneğin A sütununa liste şeklinde alt alta 1000 adet link girip , makroyu başlattığımda 1000 linkten ayrı ayrı 11 adet bilgiyi tabloya yazdırmak istiyorum.

x.Start "chrome"
x.Window.Maximize
x.Get "https://www.google.com"





Range("C2") = x.FindElementByCss("#__next > div > main > div.sc-hLBbgP.hZKURa.sc-cabffeca-0.QpfGa > div.sc-hLBbgP.sc-eDvSVe.gjJmZQ.fEHohf.sc-cabffeca-1.iITCqu > div.sc-hLBbgP.gMIWmD.sc-cabffeca-2.jlPuLe > div.sc-hLBbgP.hIhjMh > div.sc-hLBbgP.eVYvKu > div.sc-hLBbgP.sc-eDvSVe.eISiVT.bbcOkn > div:nth-child(2) > span").Text
Range("D2") = x.FindElementByCss("#__next > div > main > div.sc-hLBbgP.hZKURa.sc-cabffeca-0.QpfGa > div.sc-hLBbgP.sc-eDvSVe.gjJmZQ.fEHohf.sc-cabffeca-1.iITCqu > div.sc-hLBbgP.gMIWmD.sc-cabffeca-2.jlPuLe > div.sc-hLBbgP.hIhjMh > div.sc-hLBbgP.ldGQKU > div.sc-hLBbgP.dgRNvP > div:nth-child(2) > div > a.sc-hLBbgP.sc-eDvSVe.gQNDfK.ktIiSI > div > span").Text
Range("E2") = x.FindElementByCss("#__next > div > main > div.sc-hLBbgP.hZKURa.sc-cabffeca-0.QpfGa > div.sc-hLBbgP.sc-eDvSVe.gjJmZQ.fEHohf.sc-cabffeca-1.iITCqu > div.sc-hLBbgP.gMIWmD.sc-cabffeca-2.jlPuLe > div.sc-hLBbgP.hIhjMh > div.sc-hLBbgP.ldGQKU > div.sc-hLBbgP.dgRNvP > div:nth-child(2) > div > a:nth-child(2) > div > span").Text
Range("F2") = x.FindElementByCss("#__next > div > main > div.sc-hLBbgP.hZKURa.sc-cabffeca-0.QpfGa > div.sc-hLBbgP.sc-eDvSVe.gjJmZQ.fEHohf.sc-cabffeca-1.iITCqu > div.sc-hLBbgP.gMIWmD.sc-cabffeca-2.jlPuLe > div.sc-hLBbgP.hIhjMh > div.sc-hLBbgP.ldGQKU > div.sc-hLBbgP.dgRNvP > div:nth-child(2) > div > a:nth-child(3) > div > span").Text



Range("G2") = x.FindElementByCss("#__next > div > main > div.sc-hLBbgP.hZKURa.sc-cabffeca-0.QpfGa > div.sc-hLBbgP.sc-eDvSVe.gjJmZQ.fEHohf.sc-cabffeca-1.iITCqu > div.sc-hLBbgP.gMIWmD.sc-cabffeca-2.jlPuLe > div.sc-hLBbgP.hycFvj > div > div:nth-child(1) > div > span.sc-eDWCr.fCheYW").Text
Range("H2") = x.FindElementByCss("#__next > div > main > div.sc-hLBbgP.hZKURa.sc-cabffeca-0.QpfGa > div.sc-hLBbgP.sc-eDvSVe.gjJmZQ.fEHohf.sc-cabffeca-1.iITCqu > div.sc-hLBbgP.gMIWmD.sc-cabffeca-2.jlPuLe > div.sc-hLBbgP.hycFvj > div > div:nth-child(1) > div > span.sc-eDWCr.hqSqbo").Text
Range("I2") = x.FindElementByCss("#__next > div > main > div.sc-hLBbgP.hZKURa.sc-cabffeca-0.QpfGa > div.sc-hLBbgP.sc-eDvSVe.gjJmZQ.fEHohf.sc-cabffeca-1.iITCqu > div.sc-hLBbgP.gMIWmD.sc-cabffeca-2.jlPuLe > div.sc-hLBbgP.hycFvj > div > div:nth-child(1) > div > span.sc-eDWCr.bwkDCJ").Text

Range("N2") = Replace(x.FindElementByCss("#__next > div > main > div.sc-hLBbgP.hZKURa.sc-cabffeca-0.QpfGa > div.sc-hLBbgP.sc-eDvSVe.gjJmZQ.fEHohf.sc-cabffeca-1.iITCqu > div.sc-hLBbgP.gMIWmD.sc-cabffeca-2.jlPuLe > div.sc-hLBbgP.hIhjMh > div.sc-hLBbgP.gpLUHl > div > div.sc-hLBbgP.hTmmUs > div > div").Text, "MS ", "")

Range("Q2") = x.FindElementByCss("#__next > div > main > div.sc-hLBbgP.hZKURa.sc-cabffeca-0.QpfGa > div.sc-hLBbgP.sc-eDvSVe.gjJmZQ.fEHohf.sc-cabffeca-1.iITCqu > div.sc-hLBbgP.gMIWmD.sc-cabffeca-2.jlPuLe > div.sc-hLBbgP.hIhjMh > div.sc-hLBbgP.bbIOpL > div > div:nth-child(1)").Text
Range("R2") = x.FindElementByCss("#__next > div > main > div.sc-hLBbgP.hZKURa.sc-cabffeca-0.QpfGa > div.sc-hLBbgP.sc-eDvSVe.gjJmZQ.fEHohf.sc-cabffeca-1.iITCqu > div.sc-hLBbgP.gMIWmD.sc-cabffeca-2.jlPuLe > div.sc-hLBbgP.hIhjMh > div.sc-hLBbgP.bbIOpL > div > div:nth-child(2)").Text



For i = 2 To 5


Range("b" & i) = x.FindElementByCss("#__next > div > main > div.sc-hLBbgP.hZKURa.sc-cabffeca-0.QpfGa > div.sc-hLBbgP.sc-eDvSVe.gjJmZQ.fEHohf.sc-cabffeca-1.iITCqu > div.sc-hLBbgP.gMIWmD.sc-cabffeca-2.jlPuLe > div.sc-hLBbgP.hIhjMh > div.sc-hLBbgP.eVYvKu > div.sc-hLBbgP.sc-eDvSVe.eISiVT.bbcOkn > div:nth-child(1) > span").Text
Range("J" & i).Value = Range("g" & i) + Range("h" & i) + Range("I" & i)
Range("K" & i).Value = Range("g" & i) / Range("J" & i)
Range("L" & i).Value = Range("H" & i) / Range("J" & i)
Range("M" & i).Value = Range("I" & i) / Range("J" & i)


On Error Resume Next
Next i


End Sub



Kodlar bu şekilde. Google.com'dan çekmiyorum bilgileri örnek olsun diye onu yazdım. Nasıl bir algoritma kurabilirim. Yardımcı olan olursa çok sevinirim. Teşekkürler.
 
Üst