XPath All A в TD, который также содержит H3 с внутренним текстом «Directs» - PullRequest
2 голосов
/ 15 февраля 2012

Я соскребаю сайт. Есть TD, где первый дочерний узел - H3 с внутренним текстом «Directs». В TD другие дети (кроме H3) являются связями. Я знаю, что XPath вполне способен просто возвращать дочерние теги A от TD, который также содержит H3 с внутренним текстом «Directs», но я просто не могу понять, что это правильно. Уродливый обходной путь, который я придумал, заключается в следующем, но я хочу изучить лучший метод XPath:

For Each thisH3 As HtmlNode In Doc.SelectNodes("//h3")
    If thisH3.InnerText = "Directs" Then
        For Each nChild As HtmlNode In thisH3.ParentNode.ChildNodes
            If nChild.Name = "a" Then
                Debug.Print(nChild.InnerText)
            End If
        Next
    End If
Next

1 Ответ

1 голос
/ 15 февраля 2012

Используйте этот XPath для извлечения всех a в td, которые имеют h3 со значением Directs:

//td[h3 = 'Directs']/a
...