修改为谷歌浏览器

问题描述 投票:0回答:1

我有一个工作正常的代码。问题是它打开Internet Explorer获取结果。我想在Google Chrome中获得结果。修改会有所帮助。

Option Explicit

Sub GetResults(r As Range)
    Dim IE As Object
    Dim frm As Object
    Dim srch As Object
    Set IE = CreateObject("InternetExplorer.Application")
    IE.Visible = True
    IE.Navigate "http://www.google.com"
    Do While IE.Busy: DoEvents: Loop
    Do While IE.ReadyState <> 4: DoEvents: Loop
    Set frm = IE.Document.forms("f")
    Set srch = frm.Document.all("q")
    srch.Value = r.Value
    frm.submit
End Sub
vba
1个回答
0
投票

这将类似于selenium basic vba包装器。安装selenium之后,你需要去工具>参考>添加对selenium类型库的引用。

这是按照你所写的内容编写的。您可能希望考虑使用id而不是名称进行定位,以及是否希望函数专门从结果中返回某些内容。

Option Explicit
Public Sub test()
    Dim r As Range
    Set r = [A1]    '<== you really want a test that a single cell is passed or you will end up with an array later
    GetResults r 
End Sub

Public Sub GetResults(ByVal r As Range)
    Dim d As WebDriver, frm As Object, srch As Object
    Set d = New ChromeDriver
    Const URL = "http://www.google.com"

    With d
        .Start "Chrome"
        .get URL
        Set frm = .FindElementByName("f")
        Set srch = frm.FindElementByName("q")
        srch.SendKeys r.Value
        frm.submit
        Stop                                     '<=Delete me later
        .Quit
    End With
End Sub
© www.soinside.com 2019 - 2024. All rights reserved.