Всем привет, мне нужно спарсить таблицу с Airtable. Все данные прогружаются динамически и было бы не проблема зайти на сайт с помощью selenuim, прокрутить страницу вниз с помощью команды
window.scrollBy(0, 100);
и готово. Но проблема в том, что сама страница не скроллится (попробуйте выполнить код выше и ничего не произойдет), а скроллится именно таблица.
Как решить данную проблему?
import requests
from bs4 import BeautifulSoup
from selenium import webdriver
import time
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver import ActionChains
from selenium.webdriver.common.by import By
from selenium.webdriver.chrome.service import Service
from selenium.webdriver.common.keys import Keys
from selenium.webdriver.support.wait import WebDriverWait
def get_html(url):
service = Service(executable_path='C:\\airtable_parse\\chromedriver-win64\\chromedriver.exe')
options = webdriver.ChromeOptions()
driver = webdriver.Chrome(service=service, options=options)
driver.maximize_window()
WebDriverWait(driver, 10).until(EC.visibility_of_element_located((By.XPATH, '//html')))
try:
driver.get(url=url)
time.sleep(10)
while True:
# After your page is loaded
page_hight = driver.get_window_size()['height'] # Get page height
scroll_bar = driver.find_element(By.XPATH, "//div[contains(@class,'antiscroll-scrollbar-vertical')]")
ActionChains(driver).drag_and_drop_by_offset(scroll_bar, 0, page_hight - 160).click().perform()
#driver.execute_script('window.scrollBy(0, 100);')
except Exception as e:
print(e)
finally:
driver.close()
driver.quit()
def main():
get_html("https://airtable.com/embed/appImi8PX0i84XFwj/shr1PWZhR25O6DJxK/tblJG95RoC1WrRppF/viwVAi9l6dxxBtihM?backgroundColor=green&viewControls=on")
if __name__ == "__main__":
main()
p.s. здесь я попробовал решение с stacloverflow, но не помогло
https://stackoverflow.com/questions/63695690/pytho...
Заранее всем большое спасибо