Как я могу вставить данные из онлайн-таблицы в Excel, используя Selenium для Python 3.7? - PullRequest
0 голосов
/ 05 ноября 2019

Меня попросили создать инструмент автоматизации для создания отчета Excel с использованием данных с внутренней веб-страницы компании, в которой я работаю. Я выбрал Python (3.7) в качестве моего языка (поскольку большинство моих коллег также используют его) и Selenium для этой работы. После того, как я нажал и заполнил все поля, используя Selenium для фильтрации необходимых мне данных, я получил не менее 60 страниц по 20 строк в каждой (количество может варьироваться), поэтому мне нужно скопировать данные каждой страницы в лист Excel и нажатькнопку «Далее», скопируйте данные снова и так далее, пока все страницы не будут обработаны. Мне удалось скопировать данные для первой страницы веб-сайта, но при попытке выполнить следующий процесс не удается сохранить данные в листе Excel. Вот код, с которым я работаю

    ***Bunch of Selenium steps***

def excelFactory(values, row, col): #fuction to create the excel workbook
    fname = 'App_Report.xlsx'

    if os.path.exists(fname): #check if the workbook is already created
            wb = openpyxl.load_workbook(fname)
            ws = wb.get_sheet_by_name('Sheet')
    else:                     #create the workbook if not found
        wb = Workbook()
        ws = wb.active
    ws.cell(row= row, column= col).value = values #insert the data from the online web in the 
                                                  #workbook 
    row = row + 1
    wb.save(fname)

def dataDownload(): #function to parse thru the online table and read the data
    data = driver.find_elements_by_class_name("rowNumber")
    for td in data:
        values = td.text
        print(td)
        excelFactory(values, row, col)
        NxtButton = driver.find_elements_by_class_name('NxtButtonClassName')
        for content in NxtButton:
            if content.text == 'Next':
                content.click()
                dataDownload()

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