Получение HTML кода после загрузки JS скриптов

167
11 июля 2017, 18:33

Нужно получить исходный код страницы, в котором есть определенные элементы ( находятся в отдельной шапке на странице ). Эта шапка появляется только после того, как проходит загрузка определенных JS скриптов, если скрипты не грузятся - соответственно и элементов данных нет.

Как можно реализовать получение кода, без использования к примеру, webBrowser?

Сам же использую библиотеки xNet для подключения и получения кода, а так же Html Agility Pack для парсинга содержимого.

Answer 1

В HTML как и в ЯП выполнение кода идет по очереди сверху вниз. То есть вам нужно сначала дать таги (подгрузить ваши js файлы) <script src="YOUR_NEED_SCRIPT.js"></script> ну а потом соответственно вашу "шапку". И конечно же не забудьте убрать async defer, чтобы он не грузился асинхронно.

Так же вы можете загузить ваш HTML динамически после загрузки необходимых скриптов.

//With jQuery
//this place you load need scripts,
//after add html to document
var html = "YOUR_HTML";
$("div.head_container").append(html);
Answer 2

Решил так:

  1. Вывел в textbox весь полученный код ( грешил на то, что код попросту не успевает загрузиться полностью ).
  2. Разобрал полученный код
  3. Прошелся по всем путям, до моего элемента.
  4. Обнаружил что полученный Xpath из Google Chrome был не совсем правильный.
  5. Убрав лишний /tbody получил нужное мне значение элемента без ошибок.

Спасибо!

READ ALSO
Перевод команды создания таблицы из SQL Lite в MS SQL

Перевод команды создания таблицы из SQL Lite в MS SQL

Есть команда создания таблицы для SQL Lite:

199
C# XML документация кода с generics

C# XML документация кода с generics

Есть проект на c# с подробной документацией в xml, вот пример документации:

201
DataGridTemplateColumn с вложенным ComboBox не срабатывает команда

DataGridTemplateColumn с вложенным ComboBox не срабатывает команда

Есть датагрид со столбцом, состоящим из комбобокса :

259
Утечка памяти, как бороться C#

Утечка памяти, как бороться C#

Коллеги, здравствуйте! Имею вот такой кодИдет постоянная утечка памяти, поскольку через данное соединение передаются jpeg'ги

230