css 使用Microsoft Playwright,当文本变为可见时,如何通过其文本找到锚标记

gc0ot86w  于 2023-06-25  发布在  其他
关注(0)|答案(1)|浏览(158)

dom是这样开始的

<a>Text 1</a>
<a>Text 2</a>
<a>Text 3</a>

一段时间后,dom会更新为以下内容

<a>Text 1 - updated</a>
<a>Text 2 - updated</a>
<a>Text 3 - updated</a>

我想在“文本2”更新为“文本2 -已更新”后执行某个操作
我尝试过一些错误的事情,比如:

await page.locator('a[value="Text 2 - updated"]').waitFor({state: "attached"});
// then do action

await page.locator('a:contains("Text 2 - updated")').waitFor({state: "visible"});
// then do action

await page.getByRole('a', { name: "Text 2 - updated" }).waitFor({state: "visible"});
// then do action
6rvt4ljy

6rvt4ljy1#

是的,你可以使用toContainText web assertion,它会自动等待元素达到特定的状态。

const locator = page.locator('a').first();
await expect(locator).toContainText('Text 2 - updated', {timeout: 5000});

相关问题