木偶:我如何等到列表关闭?如何等待元素从DOM中消失?

时间:2020-05-26 13:13:28

标签: puppeteer playwright

Сase: 有一个列表,您需要在其中选择一个项目,然后将其关闭。当您单击另一个项目时,该列表没有时间关闭。最后,再次单击另一个列表元素。

await page.waitForSelector('.list');
await page.click('.list');
await page.waitForSelector('.list-element');
await page.click('.list-element'); // click on the list element and list closes
await page.click('.another-element'); // click on the list

2 个答案:

答案 0 :(得分:0)

您可以从列表中一次选择多个项目,如下所示:

// multiple selection
page.selectOption('select#colors', ['red', 'green', 'blue']);

来源:https://playwright.dev/docs/api/class-page#page-select-option

答案 1 :(得分:0)

为了等待一个元素从 DOM 中消失,你需要先开始等待元素消失,然后再进行操作:

await Promise.all([
  await page.waitForSelector(waitingSpinner,{state: 'detached'}),
  await page.click('This is the element which causes the spinner to start')
]);