Как выбрать ссылки без идентификатора или атрибутов класса с помощью XPath? - PullRequest
1 голос
/ 14 февраля 2011

Я хочу выбрать номер 4 или 5 ссылок

Я пытался использовать это выражение:

//div/b[contains(text(),'Sida:')]/following-siblings::a[4]

но это не сработало

Код для этой части моего HTML:

<div><b>Sida: </b> <a>1</a> « <a>3</a> <a>4</a> <a>5</a> » <a>814</a></div>

Вот как это выглядит

Link picture http://i.stack.imgur.com/rFmug.jpg

Сида: 1 2 3 4 » 814

или

Сида: 1 « 3 4 5 » 814


есть длинная html-страница без идентификатора или имени класса, поэтому мне нужен автоматический пейджер в Firefox, чтобы найти правильную ссылку <a> и автоматически автоматически активировать следующую страницу

мне просто нужно выражение, чтобы точно указать число 4 или 5 - но эти числа меняются при изменении номера страницы

проверить веб-страницу l-like.it

1 Ответ

0 голосов
/ 14 февраля 2011

Ты почти сделал это сам.

Чтобы получить набор узлов из двух элементов (который может быть не тем, что вы хотите), вы можете использовать это:

//div/b[contains(text(),'Sida:')]/following-sibling::a[
                position() = 3 or position() = 4
                ]

Примечание. Используйте // только тогда, когда схема неизвестна.

Чтобы получить объединенное строковое значение:

concat(
    //div/b[contains(text(),'Sida:')]/following-sibling::a[3],
    //div/b[contains(text(),'Sida:')]/following-sibling::a[4]
    )

Выход с входом ниже будет 45.

XML тестовый образец:

<t>
    <div>bla-bla</div>
    <div id="test">
        <div>
            <b>Sida: </b>
            <a>1</a> «
            <a>3</a>
            <a>4</a>
            <a>5</a> »
            <a>814</a>
        </div>
    </div>
    <div>bla-bla</div>
</t>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...