Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/xpath/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Xpath 基于关联值选择元素_Xpath - Fatal编程技术网

Xpath 基于关联值选择元素

Xpath 基于关联值选择元素,xpath,Xpath,假设我有这个html(忽略标记名): 1. 文本1 2. 文本2 3. 文本2 我想选择h2值为2的p标签(我将选择带有文本2的p) 如果我使用这个表达式//h2[text()=“2”]/../following::footer/p我将得到2个p标记 如何仅选择带有h2值的2的p标记 编辑:Robbie Averill答案是第一个有效的答案,但是你应该检查其他答案,它们也很好。你可以从匹配的h2导航到包含你想要的元素的div,然后从那里定位footer/p元素: //h2[text()="2

假设我有这个html(忽略标记名):


1.
文本1

2. 文本2

3. 文本2

我想选择h2值为2的p标签(我将选择带有文本2的p)

如果我使用这个表达式
//h2[text()=“2”]/../following::footer/p
我将得到2个p标记

如何仅选择带有
h2
值的
2
的p标记


编辑:Robbie Averill答案是第一个有效的答案,但是你应该检查其他答案,它们也很好。

你可以从匹配的
h2
导航到包含你想要的元素的
div
,然后从那里定位
footer/p
元素:

//h2[text()="2"]/../../footer/p

尝试使用以下XPath选择所需元素:

//card[h2="2"]/following-sibling::footer/p
这个XPath

//div[card/h2="2"]/footer/p

将选择字符串值为
2

footer/p
卡/h2元素的近亲
在传统中指定这样的条件比
。/..
树遍历更干净。(+1)如果
卡片
-
页脚
订购不重要,我们可以。
//div[card/h2="2"]/footer/p