Изменение в Google Chrome - PullRequest
       9

Изменение в Google Chrome

0 голосов
/ 08 сентября 2018

У меня есть код, который отлично работает. Дело в том, что он открывает 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

1 Ответ

0 голосов
/ 08 сентября 2018

Это было бы что-то похожее написано для selenium basic vba wrapper. После установки селен вам нужно перейти инструменты> ссылки> добавить ссылку на библиотеку типов селен.

Это буквально написано, чтобы следовать тому, что вы написали. Возможно, вы захотите рассмотреть таргетинг по идентификатору, а не по имени, а также о том, хотите ли вы, чтобы функция возвращала что-то конкретно из результатов.

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
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...