我正在尝试编写一个程序来识别div中的id并返回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可以吗?
答案 0 :(得分:1)
您可以使用starts-with()
检查id
是否以RM
开头:
//div[@id='page0']/div[starts-with(@id, 'RM') and @class = 'menubox']/@id
答案 1 :(得分:0)
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')
继续进一步验证。
答案 2 :(得分:0)
此xpath将返回ID为page0的DIV内的所有DIV ID。
//div[@id="page0"]/div/@id