Python бракованный веб-контент на основе JavaScript datepicker - PullRequest
0 голосов
/ 11 апреля 2020

Я хотел загрузить исторические данные в Интернете: https://www.noblebank.pl/tabele-kursow-walut#dewizy

Я совершенно новичок в python, но мне удалось добраться до этого места:

        from selenium import webdriver
    from selenium.webdriver import ActionChains
    from selenium.webdriver.common.by import By
    from selenium.webdriver.support.ui import WebDriverWait
    from selenium.webdriver.support import expected_conditions as EC
    from selenium.webdriver.common.keys import Keys
    from bs4 import BeautifulSoup
    import time 

    driver = webdriver.Chrome()
    driver.maximize_window()

    wait = WebDriverWait(driver, 10)

    url = 'https://www.noblebank.pl/tabele-kursow-walut#dewizy'
    dates = ['27 lipca  2007', '7 września 2007']



    driver.get(url)


    #driver.execute_script("arguments[0].click();", start_date)
    for date in dates:
        print(f'\n{date}\n')

        date_picker = wait.until(EC.visibility_of_element_located((By.CSS_SELECTOR, ".datepicker-foreign")))
        date_picker.clear()
        date_picker.send_keys(date)
        date_picker.send_keys(Keys.ENTER)

        wait.until(EC.visibility_of_element_located((By.CSS_SELECTOR, ".datepicker-foreign")))

        soup = BeautifulSoup(driver.page_source, 'lxml')
        div = soup.find('div' , {'id': 'dewizy'})
        print(div)
        table = div.find('table', {})
        print('##################################################################' + date)
        print(table)
        print('############################# Rows ###############################'+ date)
        for tr in table.find_all('tr'):
            row = [td.get_text(strip=True) for td in tr.find_all('td')]
            print(row)

Но по какой-то причине два результата совпадают. Я ввел тогда sleep (10), но тогда не вся таблица анализируется. Особенно по второму результату, количество записей не является полным ...

Очень ценю любой совет. Всего наилучшего, Марцин

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