XPATH-如何使用OR语句/以先到者为准搜索两个不同的类

XPATH-如何使用OR语句/以先到者为准搜索两个不同的类,xpath,Xpath,我正在抓取不同网页的3个URL,但希望结果在同一字段中。3个网页使用不同的日期标记,例如: <div id="date_65"/> <div class="date_today"/> <div id="date_now"/> 有没有办法在XPATH中创建某种“OR”语句来处理这些差异 另外,是否可以让XPATH只抓取它看到的第一个,而忽略其他任何一个 提前感谢您的帮助。怎么样 (//div[以(@id,'date')开头或以(@class,'date')

我正在抓取不同网页的3个URL,但希望结果在同一字段中。3个网页使用不同的日期标记,例如:

<div id="date_65"/>
<div class="date_today"/>
<div id="date_now"/>

有没有办法在XPATH中创建某种“OR”语句来处理这些差异

另外,是否可以让XPATH只抓取它看到的第一个,而忽略其他任何一个

提前感谢您的帮助。

怎么样

(//div[以(@id,'date')开头或以(@class,'date')]开头)[1]

如果您需要匹配许多不同且可能未知的元素,请使用Ian Roberts的解决方案。如果只是关于这三个前缀(或者你无论如何都不想匹配前缀),那么就这样做:

//div[@id=“date\u 65”或@class=“date\u today”或@id=“date\u now”]
如果您支持XPath 2.0,还可以使用它的比较运算符的集合语义(每个集合中有一个元素):

//div[(@id,@class)=(“今天的日期”、“现在的日期”、“日期65”)]。

您使用的是哪种Xpath?1.0还是2.0?最后一个版本有一个或。@Luixv早期版本也是如此…@Ian。好啊我不知道。我应该说,“至少最后一个版本有一个OR:”,谢谢你的回答。我用的是水管,它似乎做得很好。e、 g.带有以下内容的单独查询:“|”管道可能需要多次扫描文档,从而导致性能不佳(对于大型文档)。而且,他们扰乱了结果。如果这不值得关注,那么解决方案也很好。