Playwright 测试库 - 复选框状态

问题描述 投票:0回答:3

请问如何获取 Playwright E2E 测试库中复选框元素的状态。

e2e-testing playwright
3个回答
1
投票

您可以使用

jsHandle.evaluate()

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

page.$eval()

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

page.evaluate()

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

如果你有更多,也可以一次性完成:

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

1
投票

0
投票

根据剧作家文档,

如果您需要断言复选框已选中,请首选 expect(locator).toBeChecked() 以避免不稳定。

所以:

断言复选框状态

const locator = page.getByLabel('Subscribe to newsletter');
await expect(locator).toBeChecked();

获取复选框状态

const checked = await page.getByRole('checkbox').isChecked();
最新问题
© www.soinside.com 2019 - 2025. All rights reserved.