)
}
}
)
(
}
{
)
)
(
)
(
(
{
}
)
(
)
}
)
)
{
(
(
)
)
}
)
(
}

xPath contains (document.evaulate)

  1. // hack to shove some html on the page since snippet.zone
  2. // quick editor does not yet support HTML :P
  3. document.body.innerHTML += `
  4.   <p>This is some text to search...</p>
  5.   <p>Here are some random words "Robot, Cat, Swan, Shadow"...</p>
  6.   <button>Say Hello Robot</button>
  7. `;
  8.  
  9. ///////////
  10.  
  11. // find elements with the word `search`
  12. let els = document.evaluate(
  13.   "//p[contains(., 'search')]",
  14.   document,
  15.   null,
  16.   XPathResult.ANY_TYPE,
  17.   null
  18. );
  19. let el;
  20. while (el = els.iterateNext()) {
  21.   console.log('match "search"', el);
  22. }
  23.  
  24. els = document.evaluate(
  25.   "//body/*[contains(., 'Robot')]",
  26.   document,
  27.   null,
  28.   XPathResult.ANY_TYPE,
  29.   null
  30. );
  31. while (el = els.iterateNext()) {
  32.   console.log('match "Robot"', el);
  33. }

Now that IE is almost dead… we can use xPath – take a look at your console

snippet.zone ~ 2021-24 /// {s/z}