Consider the following sample HTML:
<html>
<head></head>
<body>
<a href="link1.html">link1</a>
<a href="link2.html">link2</a>
</body>
</html>
$x('/html/body/a/@href')
in the Chrome developer console gives me two results:
Now instead of just matching href
, I want to extract the attribute values of href
, so the result I want is an array ["link1.html", "link2.html"]
. How can I do that?
You can't get an attribute's value directly using xPath
, you'll need, after getting the href
, to loop over them to get each value
$x('/html/body/a/@href')[0].value
$x('/html/body/a/@href')[1].value
Something like this :
$x('/html/body/a/@href').map(x => x.value)