Come faccio a passare informazioni dal CSV nel mio Selenio (Python) programma di automazione?

voti
0

tutti. Sto automatizzando il processo di creazione di date utilizzando selenio. Finora, sono in grado di creare con successo una data di blackout con lo script che ho scritto. Quello che devo fare è essere in grado di trasmettere le informazioni che ricevo da un file CSV (che sono date diverse e volte) nel programma in modo da non dover eseguire manualmente lo script 90 più volte per ottenere tutte le date blackout creati. Il mio codice è il seguente (ho tutte le importazioni necessarie e tutto funziona):


Creating blackout date w/ settings

dateElem = 
browser.find_element_by_xpath('/html/body/div[3]/div[1]/div[2]/div[2]/div/div/div/div/ng-include/div/form/fieldset/div[6]/div[1]/div[2]/input')
browser.execute_script(arguments[0].removeAttribute('readonly'), dateElem);
dateElem.clear()
dateElem.send_keys(07/14/2020)

inputElement_HH = browser.find_element_by_id(scanBlackoutHour)
inputElement_HH.send_keys(08)

inputElement_MM = browser.find_element_by_id(scanBlackoutMinute)
inputElement_MM.send_keys(37)

am_or_pm = Select(browser.find_element_by_id(scanBlackoutTimeFrame))
am_or_pm.select_by_index(1)

durationElem = browser.find_element_by_xpath('/html/body/div[3]/div[1]/div[2]/div[2]/div/div/div/div/ng-include/div/form/fieldset/div[12]/div[6]/input')
durationElem.send_keys('12')

saveElem = browser.find_element_by_xpath('/html/body/div[3]/div[1]/div[2]/div[2]/div/div/div/div/ng-include/div/form/fieldset/div[17]/div[2]/button')
saveElem.click()
savescanElem = browser.find_element_by_id(btnScanConfigSave).click()

Il file CSV che sto usando restituisce le seguenti informazioni in questo formato:

['\ufeffDate', 'StartTime (Hour)', 'StartTime (Minute)', 'Timeframe', 'Blackout Duration']
['10/17/2020', '10', '9', 'PM', '10']
['10/20/2021', '11', '5', 'AM', '8']
...

Se si guarda il codice, vedrete dateElem, inputElementHH, inputElementMM, am_or_pm e durationElem con send_keys e quindi la data, l'ora, il minuto, 1 per PM, tempo di durata. Come posso passare i dati dalla lista generata dal CSV in quei luoghi send_keys per le variabili che ho citato? Cosa dovrebbe apparire come dopo un passthrough di successo è questo:

Creating blackout date w/ settings

dateElem = 
browser.find_element_by_xpath('/html/body/div[3]/div[1]/div[2]/div[2]/div/div/div/div/ng-include/div/form/fieldset/div[6]/div[1]/div[2]/input')
browser.execute_script(arguments[0].removeAttribute('readonly'), dateElem);
dateElem.clear()
dateElem.send_keys(10/17/2020)

inputElement_HH = browser.find_element_by_id(scanBlackoutHour)
inputElement_HH.send_keys(10)

inputElement_MM = browser.find_element_by_id(scanBlackoutMinute)
inputElement_MM.send_keys(9)

am_or_pm = Select(browser.find_element_by_id(scanBlackoutTimeFrame))
am_or_pm.select_by_index(1)

durationElem = browser.find_element_by_xpath('/html/body/div[3]/div[1]/div[2]/div[2]/div/div/div/div/ng-include/div/form/fieldset/div[12]/div[6]/input')
durationElem.send_keys('10')

saveElem = browser.find_element_by_xpath('/html/body/div[3]/div[1]/div[2]/div[2]/div/div/div/div/ng-include/div/form/fieldset/div[17]/div[2]/button')
saveElem.click()
savescanElem = browser.find_element_by_id(btnScanConfigSave).click()

Come nota aggiuntiva, Select_by_index deve essere un numero intero con 0 che AM e 1 PM essere così per quel valore mi serve un numero intero attraversato, non una stringa. Ancora una volta, voglio che questo programma di passare attraverso tutte le informazioni da ogni lista generata dal CSV in posizione corretta sulla Esecuzioni separati. Ogni aiuto è apprezzato. Grazie in anticipo.

È pubblicato 10/10/2019 alle 00:54
fonte dall'utente
In altre lingue...                            

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more