Selenium + VBA zur Steuerung von Chrome

Ich verwende Selen + VBA, um Chrome zu starten und 10 URLs zu öffnen, die im Zellbereich aufgeführt sind ("A1: A10"). Ich kenne mich mit Selen nicht aus, nachdem ich viele Male versucht habe, endlich unter klobigen Codes herauszukommen.

Private selenium As New ChromeDriver

Sub test()
Dim cell As Range
Dim keys As New selenium.keys
Dim pageNo As Integer

    pageNo = 0
    selenium.Start "chrome", "http://www.google.com/"
    For Each cell In Range("A1:A10")
        If pageNo >= 1 Then
            selenium.SendKeys keys.Control & "t" + keys.Control & "t"
            selenium.SwitchToNextWindow
        End If
        selenium.Get cell.Value
        pageNo = pageNo + 1
    Next
End Sub

Mehrere Probleme und Fragen:

Ich bin verwirrt, warum ich zweimal "Strg + t" drücken muss, um einen neuen Tab erfolgreich zu öffnen.

Warum muss ich nach dem Öffnen eines neuen Tabs Selen hinzufügen.SwitchToNextWindow, oder die nächste URL wird auf dem ursprünglichen Tab geöffnet, nicht auf dem neuen Tab?

Sehr oft nach dem Öffnen von 3 ~ 5 URLs zeigt VBA den Fehler "Nicht genügend Speicher" an und stoppt das Laden der nächsten URL. Wenn ich die Codes jedoch Zeile für Zeile in der Debugging-Umgebung ausführe, können alle 10 URLs erfolgreich geöffnet werden. Warum ist das

Ich habe gegoogelt, dass ich, wenn ich möchte, dass Chrome nach dem Ausführen des Makros nicht beendet wird, Objektselen außerhalb des U-Bootes deklarieren muss, obwohl ich den Grund nicht ganz verstehe. Könnte jemand helfen, mich auf einfache Weise zu erklären?

Wenn mir Experten bei der Optimierung meiner Codes helfen können, wäre das sehr dankbar! Mein System ist Win7 64bit + Excel 2010.

Danke mit besten Grüßen

Antworten auf die Frage(2)

Ihre Antwort auf die Frage