Как написать Xpath для выбора таблицы из следующего примера + хорошая читалка Xpath доступна? - PullRequest
4 голосов
/ 20 февраля 2012

Требуются некоторые инструкции по Xpath. У меня есть что-то вроде следующего в терминах HTML. Как мне извлечь таблицу после первого абзаца с изображением?

<p align="center">
    <img src="some_image.gif" alt="Some Title">
</p>
<table width="500" border="1" class="textstyle" align="center" cellpadding="0" cellspacing="0">
    <tr>
        <td colspan="4" align="center">
            <b>Label</b>
        </td>
    </tr>
    <tr>
        <td align="center">
            Text
        </td>
        <td align="center">
            Text
        </td>
        <td align="center">
            Text
        </td>
        <td align="center">
            Text
        </td>
    </tr>
</table>
<blockquote>
    <p class="textstyle">
        Text.
    </p>
</blockquote>

Очевидно, что я хотел бы посмотреть, как написать xpath для этого, однако я бы также хотел понять мои параметры через какой-то сокращенный список / чит-лист того, какие параметры существуют для xpath. Я собирался использовать что-то вроде этого:

//table[preceding-sibling::p[contains(align(), "center")

или, может быть, что-то, что позволило бы мне сказать, что в центре находится img, однако я просто не уверен, куда обратиться, чтобы получить хороший исчерпывающий список по сравнению с реальной записью, которая объясняет все кровавые детали. *

1 Ответ

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

Используйте

(//p[img])[1]/following-sibling::table[1]

Выбирает table, который является первым table - следующим за родным братом первого p в документе, который имеет img дочерний элемент.

Я рекомендую использовать XPath Visualizer - инструмент, который помог многим тысячам людей изучить XPath увлекательным способом .

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