Я пытаюсь создать бота, который будет отвечать на комментарии в моем профиле Instagram. У меня большая проблема с поиском элементов. Selenium вернет сообщение:
Message: no such element: Unable to locate element: {"method":"css selector","selector":"body > div.RnEpo.Yx5HN > div > div > div.mt3GC > button.aOOlW.HoLwm"}
Однако, если вы осмотрите ту же страницу, вы найдете точно такой же путь и элемент, но дальше вниз по странице, чем первоначально, и этот раздел будет отображаться в верхней части страница:
<body class style="overflow:hidden;">
Как я понимаю, селен пытается найти элемент, но проверяет только одно «окно», которое скрыто, а не ищет второе, где элементы на самом деле находятся.
Обращаясь к windows, это первое окно, которое я нахожу в проверке:
<script type="text/javascript">
window.__pendingAdditionalData(["feed"]);
</script>
, а это второе окно:
<script type="text/javascript">
window.__initialDataLoaded(window._sharedData);
</script>
(правильно я, если я не прав), но мне нужно обратиться ко второму окну, чтобы иметь возможность получить элементы, используя следующий код:
driver.switch_to_window("windowName")
, но я не понимаю, каким будет имя окна а если это решение действительно верное?
Спасибо