Jak mogę przekazać informacje z pliku CSV do mojego Selen (Python) program automatyki?

głosy
0

każdy. Ja zautomatyzowanie procesu tworzenia rolety dat przy użyciu selen. Do tej pory jestem w stanie z powodzeniem tworzyć jedną datę blackout ze skryptu, który napisałem. Co muszę zrobić, to być w stanie przekazać informacje dostaję od CSV (które są różne daty i godziny) do programu, więc nie trzeba ręcznie uruchomić skrypt powyżej 90 razy, aby uzyskać wszystkie rolety terminach stworzonych. Mój kod wygląda następująco (mam wszystkie niezbędne importu i wszystko działa):


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

Plik CSV Używam zwraca następujące informacje w następującym formacie:

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

Jeśli spojrzeć na kod, zobaczysz dateElem, inputElementHH, inputElementMM, am_or_pm i durationElem z send_keys a następnie datę, godzinę, minutę, 1 na południu, czasu trwania. Jak mogę przekazać dane z listy generowanej przez CSV do tych send_keys miejsc dla zmiennych wymienionych przeze mnie? Co powinno wyglądać po udanym passthrough to:

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

Jako dodatkowe notatki, Select_by_index ma być liczbą całkowitą, gdzie 0 oznacza AM i PM 1 oznacza więc dla tej wartości muszę mieć całkowitą przepuszczone, a nie ciąg. Znowu chcę ten program, aby przejść przez wszystkich informacji z każdej listy generowanej przez CSV w odpowiednim miejscu na oddzielnych przepustów metę. Każda pomoc jest mile widziana. Z góry dziękuję.

Utwórz 10/10/2019 o 00:54
źródło użytkownik
W innych językach...                            

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