Зациклить код с подстановкой данных из текстового документа
Есть кусок кода:
driver.find_element_by_id("main-reply").send_keys('1 строка в текст. документе') # вставить 1 строку из документа в текстовое поле
driver.find_element_by_name("submit").click() # нажать кнопку "отправить"
clipboard.copy(driver.current_url) # скопировать url-адрес текущей страницы
driver.execute_script("window.open('2 строка в текст. документе');") # перейти по ссылке из 2 строки в документе
window_after1 = driver.window_handles[2]
driver.switch_to.window(window_after1)
driver.find_element_by_class_name("button").click() # нажать кнопку на сайте
driver.execute_script("window.open('3 строка в текстовом документе');") # перейти по ссылке из 3 строки в документе
window_after2 = driver.window_handles[3]
driver.switch_to.window(window_after2)
driver.find_element_by_id("main-reply").send_keys('здесь статичный текст',clipboard.paste()) # вставить статичный текст + скопированную ссылку
driver.find_element_by_name("submit").click() # нажать кнопку "отправить"
Данный кусок кода хочу зациклить с обращением к файлу .txt, в котором будут храниться данные для вставки в код следующего формата:
текст
ссылка
ссылка
текст
ссылка
ссылка
...
текст
ссылка
ссылка
Необходимо, чтобы код обращался к текстовому файлу, подставляя строки поочередно в нужные части кода. То есть брал вариант текста из 1, 4, 7 и т.д. строки, пепреходил по ссылкам 2, 5, 8 и т.д., а затем переходил по ссылкам 3, 6, 9 и т.д. до конца документа. Как возможно это реализовать? Уровень владения языком - начал изучать дня 4 назад, но над вот этой задачей сижу уже второй день и никак не могу понять, как ее решить.
Ответы (1 шт):
Автор решения: Кирилл Куренков
→ Ссылка
Как вариант - использовать генератор. Пример:
def read_file():
with open('for_tests.txt') as file:
lines = [line.strip() for line in file]
for line in lines:
yield line
file_data = read_file()
print(f'Первая строка из файла: {next(file_data)}')
print('Текст')
print(f'Вторая строка из файла: {next(file_data)}')