Rus*_*ell 5 javascript automation browser-automation typescript playwright
我读过一些与此相关的不同的质量保证,但似乎没有一个有效。
我正在尝试使用名为 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);
Run Code Online (Sandbox Code Playgroud)
但如果我尝试这个:
let test: any = await page.$$(
"mat-radio-button.mat-radio-checked"
);
console.log(test);
console.log(test[0]);
console.log(test[1]);
});
Run Code Online (Sandbox Code Playgroud)
它不返回我可以选择其内部文本的元素数组。
我需要能够找到该类的所有元素,以便我可以使用 Expect 来确保返回的内部文本正确,例如:
expect(test).toBe("Australian Citizen");
Run Code Online (Sandbox Code Playgroud)
我发现问题是由于页面提前生成而元素不可用。所以我添加了一个waitForSelector:
await page.waitForSelector("mat-radio-button");
const elements = await page.$$("mat-radio-button.mat-radio-checked");
console.log(elements.length);
console.log(await elements[0].innerText());
console.log(await elements[1].innerText());
console.log(await elements[2].innerText());
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
21161 次 |
| 最近记录: |