Как получить доступ к внутреннему тексту в дереве DOM с помощью VBA - PullRequest
0 голосов
/ 22 июня 2019

Я пишу макрос для доступа к некоторому тексту в дереве DOM веб-сайта, но не могу получить доступ к тексту.Пожалуйста, смотрите прикрепленное изображение для рассматриваемого раздела html и смотрите прикрепленный код для того, что у меня есть до сих пор.Любая помощь в решении этой проблемы будет принята с благодарностью.Спасибо

Sub DoThings(ieapp As Object)
    Dim match_status As String
    Dim projection_rows As Object

    With ieapp
        Set projection_rows = .document.getElementById("div1").getElementById("div1_row_section").getElementById("tblMain").getElementById("div1_trans_row")

        match_status = projection_rows.getElementsByTagName("td")(2).getElementsByTagName("font")(0).getElementsByTagName("b")(0).innerText
        MsgBox (match_status)
    End With
End Sub

enter image description here

1 Ответ

0 голосов
/ 22 июня 2019

Поскольку вы используете IE, вы можете использовать : nth-of-type Селектор псевдокласса css для указания строки и столбца таблицы (первая строка, третий столбец). Я сначала выбираю таблицу по id; # - селектор идентификаторов css . Пробел между каждой частью строки между "" представляет комбинатор-потомок s, означающий, что каждая строка справа является дочерним элементом элемента, возвращаемого селектором css, string, слева. Селекторы Css применяются через querySelector, возвращая один узел, и querySelectorAll, возвращая nodeList. В данном случае это методы HTMLDocument .

ie.document.querySelector("#tblMain tr:nth-of-type(1) td:nth-of-type(3)").innerText
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...