Search code examples
e2e-testingplaywright

Playwright test library - checkbox state


Please, how to get the status a checkbox element in the Playwright E2E test library.


Solution

  • You can use jsHandle.evaluate():

    const checkbox = await page.$('[type=checkbox]');
    const checkboxState = await checkbox.evaluate(node => node.checked);
    

    or page.$eval():

    const checkboxState = await page.$eval('[type=checkbox]', node => node.checked);
    

    or page.evaluate():

    const checkboxState = await page.evaluate(() => {
        const checkbox = document.querySelector('[type=checkbox]');
        return checkbox.checked;
    });
    

    If you have more of them, you can do it in one go as well:

    const checkboxStates = await page.evaluate(() => {
        const checkboxes = document.querySelectorAll('[type=checkbox]');
        return [...checkboxes].map(c => c.checked);
    });