#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 в безголовом режиме, который будет выполнять клиентские сценарии. Это делается в командной строке — мы используем ее для модульных тестов. Однако это не очень хорошее решение для клиентского приложения.