оптимизация vba с помощью chromedriver - PullRequest
1 голос
/ 20 января 2020
Public Sub GetIndfo()
Dim d As WebDriver, ws As Worksheet, clipboard As Object, writeOutColumn As Long
writeOutColumn = 1
Const URL = "http://comp.wisereport.co.kr/company/c1030001.aspx?cmp_cd=005930&cn="

Set d = New ChromeDriver
Set ws = ThisWorkbook.Worksheets("Sheet3")
Set clipboard = GetObject("New:{1C3B4210-F441-11CE-B9EA-00AA006B1A69}")

With d
    .Start "Chrome"
    .get URL

    Dim links As Object, i As Long
    Set links = .FindElementsByCss("[id*=rpt_tab]")

    For i = 1 To links.Count
        If i > 0 Then
            links(i).Click
            Do
            Loop While Not .ExecuteScript("return jQuery.active == 0")
        End If
        Dim table As Object

        Set table = .FindElementsByCss("[id*=fabG05RlB6cn]")
        clipboard.SetText table.Attribute("outerHTML")
        clipboard.PutInClipboard

        'ws.Cells(1, writeOutColumn).PasteSpecial
        'writeOutColumn = writeOutColumn + table.FindElementByTag("tr").FindElementsByTag("td").Count + 2
        Set table = Nothing
    Next
    .Quit
End With
End Sub

Предполагается, что здесь происходит ошибка.

Set table = .FindElementsByCss("[id*=fabG05RlB6cn]")
clipboard.SetText table.Attribute("outerHTML")

Я не знаю, что вызывает ошибку в кодировании. Если нет, какую часть я должен изменить? И как мне кодировать, чтобы прочитать результаты в массив или xmldo c? Я еще не знаком с ChromeDriver, поэтому у меня много проблем с его кодированием, так что спасибо за подробную помощь, я бы очень признателен за это. enter image description here

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