首页 > 解决方案 > 使用 chromedriver 优化 vba

问题描述

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")

我不知道是什么导致了编码错误。如果不是,我应该修改哪个部分?以及如何编写代码以将结果读入数组或 xmldoc?我还不熟悉 ChromeDriver,所以我在编写它时遇到了很多麻烦,所以感谢您的详细帮助,我真的很感激。

我想要这个结果。 在此处输入图像描述

标签: vbaselenium-chromedriver

解决方案


推荐阅读