Clicking a button which is hiding within a link tag in Pupeteer

Viewed 57

Hi Pupeteer community,

I'm struggling with a simple test automation to click an "Accept All" Banner shown on the bottom of a page. The button, unfortunately, is not of type button, but wrapped within an link tag. It is hidden in the following code:

<a _tagc1="" class="accept-all mat-button mat-button-base mat-raised-button" mat-button="" aria-label="Some label" tabindex="0" aria-disabled="false">
<span class="mat-button-wrapper">
    <div _tagc1="" class="action-wrapper-notice">
         <strong _tagc1="">Some Button Text</strong>
    </div>
</span>
<div class="mat-button-ripple mat-ripple" matripple=""></div>
<div class="mat-button-focus-overlay"></div>
</a>

I tried to click it with Puppeteer like this:

async function run () {
  const browser = await puppeteer.launch({headless : false});
  const page = await browser.newPage();
  await page.goto(url, {waitUntil:'networkidle2'});
  await page.screenshot({path: 'screenshot1.png'});

  await page.click('a.accept-all.mat-button.mat-button-base.mat-raised-button', {waitUntil:'networkidle2'})

  await page.screenshot({path: 'screenshot2.png'});
  browser.close();
}

.. but cant get the button pressed.

Does anyone know how to best select the button? The only thing I did and seems to work is sending repeatedly Keyboard Tabs to the page and then submitting an Enter key. But I am looking at a more robust and elegant solution.

Thanks for helping a Puppeteer newbie!

0 Answers
Related