如何使用XPath选择没有id或class属性的链接?

时间:2011-02-13 23:45:14

标签: html select xpath find

我想选择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

   Sida:   1   2   3   4»   814   

   Sida:   1«   3   4   5»   814


有一个没有任何id或类名的长html页面 - 所以我需要在firefox中使用autopager找到正确的链接<a>并自动自动惰性下一页

我只需要表达式来精确定位数字4或5 - 但是当页码改变时这些数字正在改变

查看网页l-like.it

1 个答案:

答案 0 :(得分:0)

你差不多自己做了。

要获取两个元素的节点集(可能不是您想要的),您可以使用它:

//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>