Я закончил тем, что использовал page.evaluate для запуска некоторых js, которые добавляют уникальные имена классов к каждому элементу и подэлементу, который я хочу проанализировать, и затем возвращаю его обратно в виде строки JSON, поскольку page.evaluate возвращает только строку.Затем я просто вызываю DOM.querySelector для каждого из этих уникальных селекторов и перебираю их таким образом.
Возвращение потомков со страницы. $ Eval не дает мне узлы протокола, на которых я могу запускать больше функций протокола dev, и xpath не решает мою реальную проблему, потому что он не может рекурсивно перебирать все подпрограммы.потомки, потом потомки этих потомков.
Я закрываю вопрос, так как маркировка с использованием уникальных имен классов решает мою проблему.