或者以 XPath 中的祖先为条件?
Or condition on ancestors in XPath?
我正在尝试表达一个看起来有点像这样的 XPath。
//div[@class='foo']/ancestor::(fieldset or div)[@class='foo1']
但是此时 XPath 不工作(fieldset or div)
像下面这样的长 XPath 正在工作,
(//div[@class='foo']/ancestor::fieldset[@class='foo1'] or //div[@class='foo']/ancestor::div[@class='foo1'])
但是,有什么简洁的方法可以构建这个XPath 吗?
您可以使用以下 xpath:
//div[@class='foo']/ancestor::[//fieldset or //div][@class='foo1']
看起来您正在尝试 select 是:
- 字段集或div
- @class 值为
foo1
- 其中包含一个后代
div
,@class 的值为 foo
一次取一个,我们得到:
字段集或div:
//*[self::fieldset or self::div]
@class 值为 foo1
//*[self::fieldset or self::div][@class = 'foo1']
其中包含 div
的后代 foo
的 @class:
//*[self::fieldset or self::div][@class = 'foo1'][.//div/@class = 'foo']
我正在尝试表达一个看起来有点像这样的 XPath。
//div[@class='foo']/ancestor::(fieldset or div)[@class='foo1']
但是此时 XPath 不工作(fieldset or div)
像下面这样的长 XPath 正在工作,
(//div[@class='foo']/ancestor::fieldset[@class='foo1'] or //div[@class='foo']/ancestor::div[@class='foo1'])
但是,有什么简洁的方法可以构建这个XPath 吗?
您可以使用以下 xpath:
//div[@class='foo']/ancestor::[//fieldset or //div][@class='foo1']
看起来您正在尝试 select 是:
- 字段集或div
- @class 值为
foo1
- 其中包含一个后代
div
,@class 的值为foo
一次取一个,我们得到:
字段集或div:
//*[self::fieldset or self::div]
@class 值为 foo1
//*[self::fieldset or self::div][@class = 'foo1']
其中包含 div
的后代 foo
的 @class:
//*[self::fieldset or self::div][@class = 'foo1'][.//div/@class = 'foo']