«Ошибка 438 объект не поддерживает» с VBA-Selenium - PullRequest
0 голосов
/ 04 июня 2019

Я новичок и просто пытаюсь закончить домашнее задание.Я пытаюсь получить символ, название компании, цену акций от className, используя VBA-Selenium на этом сайте

https://www.barchart.com/stocks/indices/russell/russell2000?page=20&orderBy=lastPrice&orderDir=asc&viewName=main

, но все еще получаю ошибку

«Ошибка времени выполнения '438'объект не поддерживает это свойство или метод» со строкой кода mysheet.Cells (i, 1) .Value = mytables.FindElementByClass ("symbol text-left"). Text.Как мне решить эту проблему?Я уже пытался установить новый патч Selenium, но он не работал.

Существует еще одна проблема: на этой странице 20 страниц, и мне приходится нажимать каждую страницу, чтобы узнать цену акций.Как я могу это сделать?Пожалуйста, помогите этому бедному ученику.

Public Sub Russelcrawler()
Dim driver As New WebDriver
Dim mytables As WebElements, table As WebElement, i As Integer, mysheet As Worksheet

With driver
    .Start "IE", "https://www.barchart.com/stocks/indices/russell/russell2000?page=20&orderBy=lastPrice&orderDir=asc&viewName=main"
    .Get "/"
End With


Set mysheet = Sheets("Russel")

Set mytables = driver.FindElementsByClass("bc-datatable")

i = 2
For Each table In mytables

mysheet.Cells(i, 1).Value = mytables.FindElementByClass("symbol text-left").Text
mysheet.Cells(i, 2).Value = mytables.FindElementByClass("symbolName text-left").Text
mysheet.Cells(i, 3).Value = mytables.FindElementByClass("lastPrice").Text

i = i + 1

Next

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