If I have some content in my page such as:
<a>Hi!</a>
How can I use Google's Puppeteer to automate the clicking of that element?
I need to be able to select it based on its contents alone, not id, class or attribute.
Is there something like $('a:contains("Hi!")')
that I can leverage to select this element?
How can I do this with https://github.com/GoogleChrome/puppeteer
thanks
There is a much easier way to do it using an XPath expression:
const aElementsWithHi = await page.$x("//a[contains(., 'Hi!')]");
await aElementsWithHi[0].click();
Using page.$x
, this code finds all a
elements with the text Hi!
inside. The result will be an array containing the matching a
element handles. Using the elementHandle.click
function, we can then click on the element.