Попытка использовать Python и Selenium для многократной прокрутки и очистки веб-страницы
Я недавно задал вопрос (ссылка здесь:Python Web Scraping (Beautiful Soup, Selenium и PhantomJS): только чистая часть полной страницы), которая помогла выявить проблему, связанную с очисткой всего содержимого страницы, которое динамически обновляется при прокрутке. Однако я все еще не могу изменить свой код, чтобы указать на правильный элемент с помощью селена и прокрутить страницу вниз итеративно. Я также обнаружил, что, когда я вручную прокручиваю страницу вниз, часть исходного содержимого, когда загруженная страница исчезает, а новое содержимое обновляется. Например, посмотрите на изображение ниже ...
Я нацелился на контейнер с данными, которые я пытаюсь очистить ниже (выделено синим цветом).
Во-первых, у меня проблемы с выбором правильного элемента для прокрутки вниз страницы, так как мне никогда не приходилось делать это раньше. Я считаю, что мне нужно было бы использовать селен для таргетинга на контейнер, а затем использовать функцию «execute_script» для прокрутки страницы вниз, потому что эта таблица встроена в тело веб-страницы. Однако я не могу заставить это работать.
scroll = driver.find_element_by_class_name("ag-body-viewport")
driver.execute_script("arguments[0].scrollIntoView();", scroll)
Во-вторых, как только у меня появится возможность прокручивать, мне нужно будет прокручивать немного вниз и перебирать итеративно. Я имею в виду, что если вы посмотрите на изображение, вы увидите несколько тегов 'div' внутри
Например ... когда страница загружается и я передаю html в Beautifulsoup. Я могу очистить первые 40 строк. Если прокрутить вниз, скажем, до 40 строк, я передам 40–80 рядов в Beautifulsoup, а строки 1–40 больше не будут доступны, так как данные динамически обновляются ...
Короче говоря, я хочу, чтобы была возможность очистить все содержимое изображения, а затем использовать селен, чтобы прокрутить примерно 40 строк вниз, очистить следующие 40, затем прокрутить вниз и очистить следующие 40 и так далее ... Любой советы о том, как заставить селен прокручиваться во этом встроенном контейнере, и как можно было бы выполнить итеративную прокрутку вниз, чтобы захватить все данные в контейнере, когда он динамически обновляется при прокрутке. Любая дополнительная помощь будет высоко ценится.