假设我们将这个 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>
Run Code Online (Sandbox Code Playgroud)
如何只保存类的名称span(即“ my-FAV_numberis49”)让我们假设文档的格式不变,但span类名可以更改为“”之类的名称my-FAV_numberis7。有没有办法做到这一点?
我希望我的问题很清楚。谢谢您的帮助。
此 XPath 表达式将选择ID 为 且类属性包含字符串的所有子元素。spandivbox_contentmy-FAV_numberis
//div[@id='box_content']/span[contains(@class, 'my-FAV_numberis')]
Run Code Online (Sandbox Code Playgroud)
它将匹配my-FAV_numberis49,my-FAV_numberis7以及任何包含my-FAV_numberis, 包括other-class my-FAV_numberis99和 的字符串this-56-my-FAV_numberisnothere。
span如果在此上下文中存在多个匹配的节点集,则将选择一个节点集。您可以避免添加更多限制或位置谓词。
如果span是该上下文中的最后一个 span 子元素,您可以使用:
//div[@id='box_content']/span[last()]
Run Code Online (Sandbox Code Playgroud)
这是基于您提供的示例。如果该span元素并不总是另一个元素的子元素div,有时可能位于另一个元素内部,那么您可以使用后代轴:
//div[@id='box_content']//span[last()]
Run Code Online (Sandbox Code Playgroud)
它将选择任何级别中出现在 , 内的最后一个。 spandiv
编辑:要从元素中提取类span名,您可以使用:
//div[@id='box_content']//span[last()]/@class
Run Code Online (Sandbox Code Playgroud)