我正在使用Playwright 1.15.2进行测试,并遇到元素可见性的问题。 我想检查模态框是否在屏幕上可见,以便可以关闭它。 模态框始于display:none
,然后变为display:block
。 此外,模态框会通知表单数据的错误,因此它可能会出现或者不会出现(即我无法waitForSelector
)。
目前,我的代码类似于以下代码:
const myModal = await page.$("#modal");
if (await myModal.isVisible()) {
await page.waitForSelector('#modal > .modal-dialog > .modal-content > .modal-footer > .btn-close');
await page.click('#modal > .modal-dialog > .modal-content > .modal-footer > .btn-close');
}
我也尝试过:
const myModal = await page.$("#modal:visible");
if (myModal) {
...
使用page.$("text=modal title >> visible=true")
或将page.$
转换为page.locator
(带有所有先前提到的选择器)也没有起作用。
在这个问题中被接受的答案也不起作用。
有人可以帮帮我吗?