Получить контент сайта после задержки в JavaScript - PullRequest
0 голосов
/ 20 декабря 2018

Мне нужно загрузить веб-сайт и выполнить поиск определенного идентификатора div, чтобы получить контент.Проблема в том, что когда axios / http / what возвращает ответ, div еще не существует, потому что этот div добавляется в html после некоторого запроса.Мне не нужен «первый» ответ, мне нужен ответ после некоторой задержки, например, 3 секунды, потому что там будет div.

const getWebsiteContent = async (url) => {
  try {
    const response = await axios.get(url)
    const $ = cheerio.load(response.data)
    // div is not here yet
  } catch (error) {
    console.log(error)
  }
}

1 Ответ

0 голосов
/ 20 декабря 2018

div еще не существует, потому что этот div добавляется в html после некоторого запроса

Это означает, что он добавляется через JavaScript или загружается во фрейм, который axios не делает (это просто чтение источника страницы), он просто читает данные из URL.Ожидание не поможет, потому что оно никогда не загрузится.

Вместо этого вы можете захотеть определить, откуда эти данные на самом деле загружаются, и программно получить эти данные с помощью другого запроса.С другой стороны, вы могли бы использовать браузер без головы, но это намного больше накладных расходов.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...