Оценивайте JavaScript на каждом динамически загружаемом вложенном фрейме, используя Puppeteer - PullRequest
0 голосов
/ 04 июня 2019

Прежде чем я начну описывать свою проблему, я хочу сказать, что все страницы, iFrames и т. Д. Размещены локально на моем ПК.И что я использовал page.setBypassCSP(true) для временного отключения любых ограничений на основе источника.

Итак, у меня есть веб-страница, которая встраивает iFrame, и этот iFrame может встраивать другой (и этот список можно продолжить ...).Некоторые из более глубоких iFrames могут быть добавлены к телу его родителя через Javascript, например, document.body.appendChild внутри setTimeout(..., 3000), который имитирует динамическую загрузку iframe.Я хочу знать, каков наилучший способ оценить источник скрипта на всех этих кадрах.Я попытался использовать page.on('framenavigated', ...), но это работает только для непосредственных дочерних фреймов страницы.

Я попытался рекурсивно перебрать все фреймы на странице, используя page.frames(), но это работает только для iFrames, которые доступныв момент запуска события DOMContentLoaded.

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

ОБНОВЛЕНИЕ:

Я пытался прослушивать события, используя page.on('frameattached', ...) и page.on('framedetached', ...), но это также не позволяет мне перечислить все iFrames.

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