получение переменной из секции script через DOM

1. eda76 31.07.24 16:57 Сейчас в теме
Приветствую.
можно ли как то получить значение переменной находящейся в секции Script?
загружаю
Соединение=Новый HTTPСоединение(Сервер,,,,,,Новый ЗащищенноеСоединениеOpenSSL() );
	Запрос=Новый HTTPЗапрос(Ури);
	ответ=Соединение.Получить(Запрос);
	ТекстHTML	=Ответ.ПолучитьТелоКакСтроку();
	ЧтениеHTML = Новый ЧтениеHTML;
	ЧтениеHTML.УстановитьСтроку(ТекстHTML);
	ПостроительДОМ = Новый ПостроительDOM;
	ДокументDOM = ПостроительДОМ.Прочитать(ЧтениеHTML);

после чего, если смотреть в ТекстHTML, в тексте есть PAGE_CONFIG.site={} в которой содержится json
можно ли как то получить данные из этой переменной? хотелось бы средствами ДОМ а не парсить
По теме из базы знаний
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. user1880116 31.07.24 17:19 Сейчас в теме
(1)
хотелось бы
Ну, если научишь DOM выполнять js скрипты, тогда можешь и не парсить..
3. eda76 31.07.24 21:48 Сейчас в теме
(2) при чем здесь "научишь", я же написал, что переменная там уже есть (она не вычисляется на клиенте), в отладчике когда смотришь по элементам DOM ее нахожу, но обратиться к ней на прямую не знаю как.
Парсингом понятно, но есть проблема, если они чуть изменят сайт в этом месте он уже может не отработать, а имя переменной скорее всего меняться не будет
4. user1880116 31.07.24 22:16 Сейчас в теме
(3)
в отладчике когда смотришь по элементам DOM ее нахожу
А, ну то есть прочитать её ты таки можешь. По тому выражению, которое ты вводишь в отладчике. И в чем же тогда проблема?
5. eda76 31.07.24 22:39 Сейчас в теме
(4) при том что можно ли по имени переменной получить ее значение как например найти по селектору в html документе
6. user1880116 01.08.24 07:41 Сейчас в теме
(5)
можно ли
Нельзя. Для DOM содержимое скрипта - обычный текст, в котором он максимум может через XPath вхождение найти. Ничего про то, что твоя последовательность символов является переменной, да еще и на каком-то js, он не знает. Поэтому тебе придется или писать парсер этого куска текста "если они чуть изменят сайт в этом месте он уже может не отработать" или прикручивать полноценный компилятор нужного языка, отдавать ему этот фрагмент и получать из него результаты выполнения в виде объектов.

Про что тебе я тебе в начале и написал.
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот