我读过一些与此相关的不同的QAs,但似乎都不起作用。
我尝试使用mat-radio-checked类来定位mat-radio-button元素(Angular),然后选择内部文本。
在Chrome中,这很简单:
https://i.stack.imgur.com/Ev0iQ.png
https://i.stack.imgur.com/lVoG3.png
要在Playwright中找到第一个匹配的元素,我可以做如下操作:
let test: any = await page.textContent(
"mat-radio-button.mat-radio-checked"
);
console.log(test);
但如果我试试这个:
let test: any = await page.$$(
"mat-radio-button.mat-radio-checked"
);
console.log(test);
console.log(test[0]);
console.log(test[1]);
});
它不返回一个我可以选择其内部文本的元素数组。
我需要能够找到该类的所有元素,这样我就可以使用expect来确保返回的内部文本是正确的,例如:
expect(test).toBe("Australian Citizen");
2条答案
按热度按时间2vuwiymt1#
我发现这个问题是由于页面预先生成,元素不可用。所以我添加了一个waitForSelector:
ha5z0ras2#
通过发送参数创建一个公共方法和调用。