使用XPath检索有序列表中的所有链接

时间:2016-02-03 11:41:19

标签: java xpath

如何使用XPath检索在有序列表中作为列表项呈现的一组链接?我需要使用以下HTML代码从论坛中检索所有部分:

<div id="pagewrapper" class="fixed">
<div id="toplinks" class="toplinks" style="position: relative; top: 145px;">
<div class="above_body" style="height: 210px;">
<div class="body_wrapper">
<div id="breadcrumb" class="breadcrumb">
<div id="pagetitle">
<ol id="forums" class="floatcontainer">
<li id="cat3" class="forumbit_nopost new L1">
<div class="forumhead tcat foruminfo L1 collapse">
<div class="tbody_left">
<div class="tbody_right">
<ol id="c_cat3" class="childforum">
<li id="forum9" class="forumbit_post new L2">
<div class="forumrow table">
<div class="foruminfo td" style="padding-top: 12px; padding-bottom: 12px;">
<img id="forum_statusicon_9" class="forumicon" alt="" src="elitex360/statusicon/forum_new-48.png">
<div class="forumdata">
<div class="datacontainer">
<div class="titleline">
<h2 class="forumtitle">
<a href="https://forums.com/forum/index">Forum index</a> <!-- get this link -->
</h2>
</div>
<p class="forumdescription">
</div>
</div>
</div>
<h4 class="nocss_label">Forum Actions:</h4>
<h4 class="nocss_label">Forum Statistics:</h4>
<ul class="forumstats td" style="padding-top: 18px; padding-bottom: 12px;">
<div class="forumlastpost td">
</div>
</li>
<li id="forum22" class="forumbit_post new L2">
<li id="forum40" class="forumbit_post new L2">
</ol>
<div class="tbody_under"></div>
</div>
</div>
<div class="tfoot">
</li>
<li id="cat4" class="forumbit_nopost new L1">
<li id="cat52" class="forumbit_nopost new L1">
<li id="cat5" class="forumbit_nopost new L1">
<li id="cat6" class="forumbit_nopost new L1">
<li id="cat7" class="forumbit_nopost old L1">
</ol>

我必须检索的部分链接标记在上面的代码中(<!-- get this link -->)。我现在使用以下字符串来检索所有列表项:

//div[@id='pagewrapper']/div[3]/ol

检索所有列表项。但我不知道如何进入&#34;每个列表项并检索链接标签的内容。在我发现的示例中,有必要了解列表项的数量prior来访问它们。事实并非如此,因为论坛可能有不同数量的列表项(模板用于论坛引擎,特别是论坛)。

如何检索列表项中的所有链接?

1 个答案:

答案 0 :(得分:1)

尝试使用以下xpath获取网址: -

//a[contains(.,'Forum index')]/@href

如果你想要我所知道的所有li,那么xpath如下: -

//div[@id='pagewrapper']//li[@id='cat3']//ol//li

我认为下面是您期望的xpath: -

   //div[@id='pagewrapper']//div/@href

希望它会对你有所帮助:)。