Como faço para passar informações de CSV no meu selênio (Python) programa de automação?

votos
0

todos. Estou automatizando o processo de criação de restrições de datas usando selênio. Até agora, eu sou capaz de criar com sucesso uma data apagão com o roteiro que eu escrevi. O que eu preciso fazer é ser capaz de passar informações que recebo de um arquivo CSV (que são diferentes datas e horários) no programa para que eu não tenho que executar manualmente o script 90 mais vezes para obter todas as restrições de datas criadas. Meu código é o seguinte (eu tenho todas as importações necessárias e tudo funciona):


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()

O arquivo CSV Eu estou usando retorna as seguintes informações neste formato:

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

Se você olhar o código, você verá dateElem, inputElementHH, inputElementMM, am_or_pm e durationElem com send_keys e, em seguida, a data, a hora, o minuto, 1 para PM, tempo de duração. Como posso passar os dados da lista gerada pela CSV para essas send_keys lugares para as variáveis ​​que eu mencionei? O que se deve olhar como depois de uma passagem de sucesso é esta:

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()

Como uma nota adicional, Select_by_index é ser um inteiro com 0 sendo AM e 1 PM ser assim para que o valor preciso de um inteiro atravessou, não uma string. Mais uma vez, quero que este programa para passar por todas as informações de cada lista gerada pelo CSV para o local correto em throughs execução separados. Qualquer ajuda é apreciada. Agradeço antecipadamente.

Publicado 10/10/2019 em 00:54
fonte usuário
Em outras línguas...                            

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