Как я могу получить ресурс, в котором не все элементы присутствуют при загрузке страницы (с помощью React)?

#javascript #reactjs #fetch #fetch-api

Вопрос:

Я просмотрел документацию по API Fetch и попытался погуглить все это, но не смог найти ответов.

Я пытаюсь зайти на fetch веб — страницу, которая используется react .

Пример кода:

 async function fetchReactWebpage(){    let f = await fetch('https://example.com')  let r = await f.text()    let parse = new DOMParser()  let doc = parse.parseFromString (r, "text/html");    console.log('doc',doc)    doc.querySelector('#app-root').innerHTML.length  // output = 0  // (it's empty)  } 

Учитывая, что app-root элемент (например lt;div id="app-root"lt;/divgt; ) находится там, где отображается все содержимое, есть ли способ использовать fetch или что-либо еще для извлечения содержимого в этом div ПОСЛЕ его отображения?

ТИА!

Комментарии:

1. Если вы захватываете html — страницу, это будет просто текст html в виде строки-он не будет выполнять никаких сценариев. Если у вас есть доступ к сценариям/API, которые выполняются на этой странице, вам, вероятно, придется ссылаться/запускать их вместо этого?

2. спасибо, но это внешний запрос, у меня нет доступа к веб-странице, кроме как с помощью внешнего запроса, такого как fetch

3. Тогда может потребоваться другой подход — и это полностью зависит от вашего проекта. Если это проект узла, возможно, вы попытаетесь вытащить ресурс с помощью chrome в безголовом режиме, который будет выполнять клиентские сценарии. Это делается в командной строке — мы используем ее для модульных тестов. Однако это не очень хорошее решение для клиентского приложения.