В VBA Selenium как настроить таргетинг, щелкнуть и вернуть значения, найденные на следующей странице, в электронную таблицу и просмотреть все результаты? - PullRequest
0 голосов
/ 19 февраля 2019

Я пытаюсь щелкнуть элемент на странице и вернуть значения, найденные на следующей странице, для каждого результата на странице.Результаты, которые я хочу получить на следующей странице, - это кто отправил груз.

Вот соответствующий код VBA:

   Dim FOrderID As Object, FOrderList As Object, FOL As Long
    FOL = 1
    t = Timer
    Do
        Set FOrderList = driver.FindElementsByXPath("//div[3]//div[3]//span/a")
        If Timer - t > MAX_WAIT_SEC Then Exit Do
    Loop While FOrderList.Count = 0
    If FOrderList.Count > 0 Then

        For Each FOrderID In FOrderList
            FOL = FOL + 1
            ActiveSheet.Cells(FOL, 7) = FOrderID.Text

            .Click

            With .FindElementByXPath("//a[text()[contains(.,'Shipments')]]")
                .Click
            End With

            ActiveSheet.Cells(FOL, 8) = .FindElementById("sc14821").Text
        Next


    End If

Вот ссылка на соответствующий код HTML на главной странице.https://pastebin.com/epFSzG8E

Также страница, с которой я хочу получить информацию.https://pastebin.com/xBQnbQza

Обратите внимание, что на главной странице элементы заголовка также имеют тот же класс.

Также здесь указан Xpath для элемента, который я пытаюсь щелкнуть / использовать: // [@ ID = "sc25579"] / дела / дела / дела / дела / дела [3] / дела / дела [1] / дела / дела [1] / дела [3] / дела [1] / дела / дела/ дела [2] / дела / дела [4] / диапазон / а

1 Ответ

0 голосов
/ 20 февраля 2019

Из обсуждений:

Текущая страница, которая вам нужна

FOrderID.click

Клик - это метод объекта, поэтому вам нужно дать ему объект

Следующая страница

.FindElementByCss(".status-history").text

Поскольку идентификатор является динамическим

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...