2015-10-02 46 views
1

我正在嘗試編寫一個程序來識別div中的id並返回id的名稱。如何識別div內的id名稱?

<div id="page0" class="subpage"> 
     <h2 id="RM10129"> Cold Startes </h2> 
     <div id="RM10129" class="menubox"></div> 
     <div id="RM10129" class="menubox"></div> 
     <h2 id="RM10130"> Main </h2> 
     <div id="RM10130" class="menubox"></div> 
     <div id="RM10130" class="menubox"></div> 

我希望我的程序能夠返回ID「RM10129」和「RM10130」。這是可能的xpath?

+1

你目前使用什麼包來解析HTML?向我們展示你到目前爲止的代碼。謝謝。 – alecxe

+0

#include Foon

回答

1

您可以使用starts-with()檢查id開始與RM

//div[@id='page0']/div[starts-with(@id, 'RM') and @class = 'menubox']/@id 
0

你可以使用xpathlxml LIB的一部分:

import lxml.html 

ttt = """<div id="page0" class="subpage"> 
     <h2 id="RM10129"> Cold Startes </h2> 
     <div id="RM10129" class="menubox"></div> 
     <div id="RM10129" class="menubox"></div> 
     <h2 id="RM10130"> Main </h2> 
     <div id="RM10130" class="menubox"></div> 
     <div id="RM10130" class="menubox"></div>""" 


page = lxml.html.fromstring(ttt) 

print page.xpath('.//div[@class="menubox"]/@id') 

並繼續進一步的驗證。

0

這個xpath會返回你帶有ID page0的DIV中的所有DIV ID。

//div[@id="page0"]/div/@id