Добавление Dataframe Inside Loop - PullRequest
0 голосов
/ 16 марта 2019

Я пытаюсь получить список ссылок, просматривая элементы и затем нажимая на страницы. Я не уверен, как добавить каждый цикл в фрейм данных Pandas после того, как он пройдет пагинацию, показанную ниже, чтобы я мог вызвать фрейм данных вне цикла, чтобы вывести список всех ссылок.

Он всегда перезаписывает и печатает последнюю строку.

while True:

    links = [link.get_attribute('href') for link in driver.find_elements_by_class_name('view-detail-link')]

    for link in links:

        df_links = pd.DataFrame([[link]], columns=['link'])

    try:

        NextPage = driver.find_element_by_xpath('//a[@class="ui-pagination-next ui-goto-page"]')
        driver.execute_script("arguments[0].click();", NextPage)

        time.sleep(3)

    except NoSuchElementException:
        break

print(df_links.link[0])

1 Ответ

1 голос
/ 16 марта 2019

Вам нужно создать свой DataFrame вне цикла. Затем каждый раз, когда вы создаете новый DataFrame в цикле, вы добавляете его к основному:

df = pd.DataFrame()

while True:

    links = [link.get_attribute('href') for link in driver.find_elements_by_class_name('view-detail-link')]

    for link in links:

        df_links = pd.DataFrame([[link]], columns=['link'])
        df = df.append(df_links)

    try:

        NextPage = driver.find_element_by_xpath('//a[@class="ui-pagination-next ui-goto-page"]')
        driver.execute_script("arguments[0].click();", NextPage)

        time.sleep(3)

    except NoSuchElementException:
        break

print(df.link[0])
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...