XPATH-如何使用OR语句/以先到者为准搜索两个不同的类
我正在抓取不同网页的3个URL,但希望结果在同一字段中。3个网页使用不同的日期标记,例如: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')
<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.带有以下内容的单独查询:“|”管道可能需要多次扫描文档,从而导致性能不佳(对于大型文档)。而且,他们扰乱了结果。如果这不值得关注,那么解决方案也很好。