假设我们将这个span标记<span class="my-FAV_numberis49"></span>
包含在如下的复杂文档中:
<div id="box_content">
<div class="heading">
Description
</div>
Really cool description about something really cool.
<br>
<div class="more_detail">
</div>
<div class="more_detail">
<span class="date">Today's Date is</span>June 06 2014
</div>
<span class="my-FAV_numberis49"></span>
</div>
如何仅保存span
类的名称(即“my-FAV_numberis49
”)让我们假设文档的格式将保持不变,但span
类名称可以更改为“my-FAV_numberis7
”之类的内容。有没有办法做到这一点?
我希望我的问题很明确。谢谢您的帮助。
答案 0 :(得分:2)
此XPath表达式将选择{em>所有 span
div
个<{1>}元素<{1}},其ID为box_content
有一个类属性包含字符串my-FAV_numberis
。
//div[@id='box_content']/span[contains(@class, 'my-FAV_numberis')]
它将匹配my-FAV_numberis49
,my-FAV_numberis7
和包含my-FAV_numberis
的任何字符串,包括other-class my-FAV_numberis99
和this-56-my-FAV_numberisnothere
。
如果在此上下文中有多个匹配的span
,则会选择 node-set 。您可以避免添加更多限制或位置谓词。
如果span
是该上下文中的最后 span
子元素,您可以使用:
//div[@id='box_content']/span[last()]
这是基于您提供的示例。如果span
元素并非始终是div
的子,有时可能在另一个元素中,那么您可以使用后代轴:< / p>
//div[@id='box_content']//span[last()]
将选择span
内任何级别内的最后 div
。
编辑:从您可以使用的span
元素中提取类名称:
//div[@id='box_content']//span[last()]/@class
答案 1 :(得分:1)
试
//span[starts-with(@class, 'my-FAV_numberis')]/@class
它表示查找带有span
的{{1}}标记,该标记以class
开头并输出其类属性内容。
答案 2 :(得分:0)
第一个回答很有用
//div[@id='box_content']/span[contains(@class, 'my-FAV_numberis')]
exact the class name try //span[starts-with(@class, 'my-FAV_numberis')]/@class