获取匹配 xpath 的属性值
Get attribute values matching xpath
考虑以下示例 HTML:
<html>
<head></head>
<body>
<a href="link1.html">link1</a>
<a href="link2.html">link2</a>
</body>
</html>
$x('/html/body/a/@href')
在 Chrome 开发者控制台给了我两个结果:
现在不只是匹配href
,我想提取href
的属性值,所以我想要的结果是一个数组["link1.html", "link2.html"]
。我该怎么做?
您不能直接使用 xPath
获取属性的值,您需要在获取 href
后循环获取每个值
$x('/html/body/a/@href')[0].value
$x('/html/body/a/@href')[1].value
像这样:
$x('/html/body/a/@href').map(x => x.value)
考虑以下示例 HTML:
<html>
<head></head>
<body>
<a href="link1.html">link1</a>
<a href="link2.html">link2</a>
</body>
</html>
$x('/html/body/a/@href')
在 Chrome 开发者控制台给了我两个结果:
现在不只是匹配href
,我想提取href
的属性值,所以我想要的结果是一个数组["link1.html", "link2.html"]
。我该怎么做?
您不能直接使用 xPath
获取属性的值,您需要在获取 href
后循环获取每个值
$x('/html/body/a/@href')[0].value
$x('/html/body/a/@href')[1].value
像这样:
$x('/html/body/a/@href').map(x => x.value)