我正在抓取3个不同网页的网址,但希望结果位于同一字段中。 3个网页使用不同的日期标记,例如:
<div id="date_65"/>
<div class="date_today"/>
<div id="date_now"/>
有什么方法可以在XPATH中创建某种'OR'语句来处理这些差异。
此外,是否有可能让XPATH只抓住它看到的第一个并忽略其他任何一个?
提前感谢您的帮助。
答案 0 :(得分:2)
怎么样
(//div[starts-with(@id, 'date_') or starts-with(@class, 'date_')])[1]
答案 1 :(得分:1)
如果您需要匹配许多不同且可能未知的元素,请使用Ian Roberts的解决方案。如果它只是那三个(或者你不想匹配前缀),那就去吧:
//div[@id="date_65" or @class="date_today" or @id="date_now"]
如果你有XPath 2.0的支持,你也可以使用它的比较运算符的集合语义(每个集合中有一个元素):
//div[(@id, @class) = ("date_today", "date_now", "date_65")].