Option Explicit
Sub QRKodIndir()
Dim driver As New Selenium.WebDriver
Dim qrText As Object
Dim createQRBtn As Object
Dim downloadBtn As Object
Dim closePopup As Object
Dim i As Integer
Dim sonSatir As Integer
Dim veri As String
' Chrome Başlat ve Siteye Gir
driver.Start "chrome", "https://www.qrcode-monkey.com"
driver.SetCapability "excludeSwitches", Array("enable-automation")
driver.Get "/"
Application.Wait Now + TimeValue("00:00:03") ' 3 saniye bekle (sayfanın yüklenmesi için)
' Çerezleri kabul et (Eğer buton varsa)
On Error Resume Next
Set closePopup = driver.FindElementById("onetrust-accept-btn-handler")
If Not closePopup Is Nothing Then closePopup.Click
On Error GoTo 0
' "Text" sekmesine tıkla
driver.FindElementByXPath("//a[@href='#text']").Click
Application.Wait Now + TimeValue("00:00:02")
' A Sütunundaki Son Satırı Bul
sonSatir = Cells(Rows.Count, 1).End(xlUp).Row
' A Sütunundaki Her Veriyi QR Koda Dönüştür
For i = 2 To sonSatir
veri = Cells(i, 1).Value
' QR kod metin alanını bul ve veri gir
Set qrText = driver.FindElementById("qrcodeText")
qrText.Clear
qrText.SendKeys veri
Application.Wait Now + TimeValue("00:00:01")
' "Create QR Code" butonuna tıkla
Set createQRBtn = driver.FindElementById("button-create-qr-code")
createQRBtn.Click
Application.Wait Now + TimeValue("00:00:03") ' QR kodun yüklenmesi için bekle
' "Download PNG" butonuna tıkla
Set downloadBtn = driver.FindElementById("button-download-qr-code-png")
downloadBtn.Click
Application.Wait Now + TimeValue("00:00:10") ' İndirme işleminin başlaması için bekle
' Açılan pop-up'ı kapat
On Error Resume Next
Set closePopup = driver.FindElementByXPath("//i[@ng-click='closeDownloadModal()']")
If Not closePopup Is Nothing Then closePopup.Click
On Error GoTo 0
Application.Wait Now + TimeValue("00:00:03") ' Sonraki işleme geçmeden önce bekle
Next i
' Tarayıcıyı Kapat
driver.Quit
MsgBox "Tüm QR kodları indirildi!", vbInformation
End Sub