Зациклить код с подстановкой данных из текстового документа

Есть кусок кода:

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)}')
→ Ссылка