目标是获取名为Nick的用户的代码,他的标题是先生xpath1.0。
<span class="user">
<span class="master">
<span class="user-title" title="Mr">
<span class="name">Nick</span>
</span>
<span class="user-info">
<span class="code">A</span>
</span>
</span>
</span>
<span class="user">
<span class="master">
<span class="user-title" title="Mr">
<span class="name">Bob</span>
</span>
<span class="user-info">
<span class="code">B</span>
</span>
</span>
</span>
我会将它分成几个步骤来理解xpath在这种情况下的工作原理。
//span[contains(., 'Nick'])
可以获取该节点,但是如何获取下一个节点中的人员代码信息?
答案 0 :(得分:2)
您可以执行以下操作:
//span
[@class='user']
[.//span[@class='name']='Nick']
//span[@class='code']
/text()
基本上这说:
或者,您可以直接导航到兄弟元素。但是,它不具有可读性:
//span[.='Nick']/../following-sibling::*[1]/span/text()
这就是用文字尼克查找范围。从那里,转到父(用户标题范围)。然后转到下一个兄弟(用户信息范围)。然后在那里得到跨度,这是代码跨度。