Я исследовал, как зацикливаться на селене, но я не видел ответов, которые бы сработали для меня. По сути, это будут шаги, которые необходимо выполнить в моем коде:
- Получить строку за строкой из файла CSV и передать его в веб-приложение
- Первые данные в строке 1 будут 1 циклом теста на селен и сохранят данные в веб-приложении
- Selenium будет повторять цикл и переходить ко 2-й строке данных в файле CSV, сохранять его снова и повторять цикл до тех пор, пока все данные в CSV не будут сохранены внутри.
веб-приложение.
Этот код работает, но он просто останавливается на 1-й строке данных и не переходит на 2-й ряд данных и т. Д. И т. Д.
driver = webdriver.Firefox()
driver.get("https://*****/")
file = open("testfile.csv")
reader = csv.DictReader(file)
data = [row for row in reader]
for row in data:
Name = (row["Name"])
Eadd = (row["Eadd"])
time.sleep(10)
driver.find_element_by_xpath("(.//*[normalize-space(text()) and normalize-space(.)='Name'])[1]/following::input[1]").click()
driver.find_element_by_xpath("(.//*[normalize-space(text()) and normalize-space(.)='Name'])[1]/following::input[1]").send_keys(Name)
driver.find_element_by_xpath("(.//*[normalize-space(text()) and normalize-space(.)='Email'])[1]/following::textarea[1]").click()
driver.find_element_by_xpath("(.//*[normalize-space(text()) and normalize-space(.)='Email'])[1]/following::textarea[1]").clear()
driver.find_element_by_xpath("(.//*[normalize-space(text()) and normalize-space(.)='Email'])[1]/following::textarea[1]").send_keys(Eadd)