Кукольник - дождаться, пока элемент будет иметь определенное значение - PullRequest
0 голосов

Итак, вопрос - как ждать, пока элемент не получит определенное значение?Например, какая-то кнопка на определенной странице изменяет значение поля ввода с «Нет значения» на «Значение Х».Проблема в том, что я не знаю, сколько времени это займет, так что page.waitFor () не вариант.Я думал, что я мог бы использовать page.waitForSelector (вход: содержит («Нет значения»));но это не работает, насколько я понимаю.Возможно, page.waitForFunction () должен работать, но я не уверен, какую функцию там написать (page.evaluate, которая может возвращать значение ввода?).

1 Ответ

0 голосов
/ 16 мая 2018

Согласно документы page.waitForFunction будут ждать, пока переданная ему функция (в виде замыкания или строки) вернет истинное значение.

const puppeteer = require('puppeteer');

puppeteer.launch({headless : false}).then(async browser => {
  const page = await browser.newPage();
  await page.goto(url);
  await page.waitForFunction('document.getElementById("wait").value != "No Value"');
  console.log('Value changed!');
  await browser.close();
});
...