Python Selenium JS

Возвращаясь в предыдущему вопросу про Selenium и Python. Вопрос решился скролингом страницы

for p in range(0, 1080, 50):
    driver.execute_script(f"window.scrollTo(0, window.scrollY + {p})")
    time.sleep(random.choice([1, 2]))

Однако, там выплывает окно, которое надо закрыть, закрываешь, скролишь - данные скачиваются, нет - нет ( PS. про API понял, тут вопрос про возможности Selenium. PPS. сильно не ругайтесь, я новенький.

Всплывающее окно


Ответы (1 шт):

Автор решения: Vladimir Shendaypin

Можно использовать такой трюк, он удаляет ненужный элемент со страницы. document.(тут class, id, name, text) для поиска элемента на странице по указанному идентификатору. Затем мы проверяем, найден ли элемент, и если да, то удаляем его с помощью метода remove(). В конце мы возвращаем True, чтобы указать успешное выполнение операции удаления элемента.

def element_remove_for_js_class(self, element):
    self.driver.execute_script(f"var elements = document.getElementsByClassName('{element}');
                                while (elements.length > 0) elements[0].remove();")
    return True

def element_remove_for_js_class(self, element):
    self.driver.execute_script(f"var element = document.getElementById('{element}');
                                if (element) element.remove();")
    return True
→ Ссылка