2017-08-12 20 views
0

我想從列表中獲取li元素文本和鏈接。但問題在於,跨度有時也有不同類的名字,但總是有他們特色的詞「顯着的」,例如:Xpath語法根據上面的ID獲取列出的元素包含單詞

<span class="mw-headline" id="Notable_alumni">Notable alumni</span> 

OR

<span class="mw-headline" id="Notable_former_pupils">Notable former pupils</span> 

所以我需要使用「包含」不知何故,所以我沿着這些線:

//li[contains(span/@id,'Notable')]/span/@id/following-sibling::text() 

但不能得到這個權利。

另一個問題是這些文本塊和標題不在同一個包含div。添加了一個圖像來簡化,你可以看到代碼。

enter image description here

+0

這將是有益的,如果提供的例子是實際xHTML(不是屏幕截圖),以及是否提供了所需輸出的示例。 –

回答

0

假設與@id跨度總是下h2(如果不成立,你可以讓使用*代替h2更通用)。如果錨定到含有元素,然後查找第一ul這是一個跟隨的兄弟姐妹,你可以從它的所有的text()li元素:

//h2[span[contains(@id,'Movie Title')]]/following-sibling::ul[1]/li//text() 
+0

對不起,我按照代碼添加了錯誤的示例和類'Movie title',這與此無關。跨度id包含單詞「notable」。我仍然無法得到這個工作, –

+0

什麼是期望的輸出?目前還不清楚你試圖選擇哪個'text()'。 –

+0

「Max Beesley」和「Jiafeng Chen」以及其他任何出現在其下的li類文本(我們在此屏幕上只能看到2個) –

相關問題