Как обрабатывать скрытые элементы в Selenium? (Python) - PullRequest
0 голосов
/ 01 мая 2020

Я пытаюсь создать бота, который будет отвечать на комментарии в моем профиле 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")

, но я не понимаю, каким будет имя окна а если это решение действительно верное?

Спасибо

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