page.waitForFunction ()
Вы можете использовать page.waitForFunction()
, чтобы дождаться, пока данная функция вернет истинное значение.
Имейте в виду, что селектор :contains()
является частью jQuery API, а не стандартным селектором CSS.
Поэтому вместо этого вы можете подождать, пока элемент some
(хотя бы один) в массиве узлов, соответствующих селектору, не получит textContent
, что includes
указанный текст и присутствует в DOM:
await page.waitForFunction(() =>
[...document.querySelectorAll('div[class="asset"]')].some(e => e.textContent.includes('Assets Folder'))
);
page.waitForXPath ()
В качестве альтернативы XPath включает функцию contains()
, поэтому вы можете использовать page.waitForXPath()
с соответствующим выражением XPath для ожидания добавления вашего элемента в DOM:
await page.waitForXPath('//*[contains(text(), "Assets Folder")]/ancestor-or-self::div[@class="asset"]');