Короче, пишу парсер на Python, сайт с динамической подгрузкой. В DevTools нахожу элемент, копирую selector, в консоли он находит. Вставляю в код — пусто. Пробывал и CSS, и XPath. Уже и wait добавлял, и headless отключал. Вроде рабочий селектор, но не работает в скрипте.
Может, кто сталкивался? Что обычно помогает? Иногда думаю, что дело в iframe или в том, что контент грузится позже. Но жду по 10 секунд. Может, там shadow DOM? Подскажите, куда копать.
С shadowRoot есть нюанс: работает только если корень не closed. При закрытом в коде будет null, хотя DevTools всё видит. Проверь getRootNode() — он покажет, в каком контексте реально сидит узел.
getRootNode() реально выручает, сам на этом сидел полдня. Но если корень closed — из кода shadowRoot не достать, только перехватывать attachShadow до загрузки. В отладчике видно, а в скрипте уже нет, вот и вся магия.