3

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: enter image description here

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?

stefan.at.kotlin
  • 15,347
  • 38
  • 147
  • 270

1 Answers1

2

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)
Alexandre Elshobokshy
  • 10,720
  • 6
  • 27
  • 57