小编Hun*_*t01的帖子

Selenium + VBA 来控制 Chrome

我使用 selenium + vba 启动 chrome 以打开单元格范围(“A1:A10”)中列出的 10 个网址。我对 selenium 不熟悉,在尝试了很多次之后,我终于在笨拙的代码下面出来了。

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
Run Code Online (Sandbox Code Playgroud)

提出的几个麻烦和问题:

  1. 我很困惑为什么我必须发送 2 次“Ctrl+t”键才能成功打开新选项卡。

  2. 为什么我必须在打开新标签后添加 selenium.SwitchToNextWindow ,或者下一个 url 将在原始标签上打开,而不是新标签?

  3. 经常在打开3~5个url后,vba弹出“内存不足”错误,停止加载下一个url。但是如果我在调试环境中逐行运行代码,则可以成功打开所有10个url。为什么?

  4. 我在谷歌上搜索到,如果我希望 chrome …

excel selenium vba google-chrome

2
推荐指数
1
解决办法
2万
查看次数

标签 统计

excel ×1

google-chrome ×1

selenium ×1

vba ×1