我正在使用XPath从HTML文档中获取一个元素.元素必须具有特定的id,或者如果id不存在,则获取保证存在的元素(例如body元素).
要通过其id获取元素,我使用:
css=#may-not-exist
Run Code Online (Sandbox Code Playgroud)
并获得我使用的后备元素(比如身体):
css=body
Run Code Online (Sandbox Code Playgroud)
如何将上面的这两个表达式组合成一个表达式(get #may-not-exist
else get body
)?
cho*_*oba 22
可以使用body
默认值.它将首先来自表达式,因为它在其他任何东西之前开始(除非你在搜索中找到某些东西)head
.
(//*[@id="xxx"] | //body)[last()]
Run Code Online (Sandbox Code Playgroud)
该( ... | ... )
部分返回其子部分的并集.这些是*[@id="xxx"]
- 属性id的值为xxx的任何元素 - 和// body,即body.从这个联合中,[last()]
选择最后一个.返回的节点的排序方式与原始文档中的顺序相同,因此主体首先出现(至少在身体内部之前).如果存在具有id的元素,它将在body之后出现并将被返回.如果不是,则body将作为从union返回的唯一(第一个和最后一个)节点返回.
归档时间: |
|
查看次数: |
9770 次 |
最近记录: |