@vadimeasy

Как сделать последовательную проверку?

Добрый день. Подскажите пожалуйста, пишу программу для проверки данных на сайте определенных ключей. Этих ключей для поверки определенное количество, моих знаний прогаммирования хватила на то чтобы просто спашивать у человека через командную строку.
guid = str(input('Введите GUID:'))
id_tasks = int(input('Ведите цифры ID задачи:'))

пееменная guid и id_tasks связаны между собой. id_tasksотвечает за то чтобы в моём рабочем пространстве отправлялся комментаий о событии проверенном по guid
Вот весь код обаботки:
url = "https://cerberus.vetrf.ru/cerberus/actualObject/pub/actualInfo/"
options = Options()
options.headless = True

try:
    guid = str(input('Введите GUID:'))
    id_tasks = int(input('Ведите цифры ID задачи:'))
    options = Options()
    options.headless = True
    # driver = webdriver.Chrome()
    driver = webdriver.Chrome(chrome_options=options)
    
    driver.get(url=url)
    driver.find_element_by_tag_name('input').send_keys(guid)
    driver.find_element_by_tag_name('button').click()
    print('Запрос выполняется...')
    time.sleep(0.5)
    
    print ('Осталось совсем чуть-чуть...')

    if driver.find_elements_by_xpath('//span[@class="label label-success"][1]'):
        if True:
            request = pyrus.models.requests.TaskCommentRequest(text="Подтверждена", action="")
            task = pyrus_client.comment_task(id_tasks, request).task
            print('Подтверждена')

    elif driver.find_elements_by_xpath('//span[@class="label label-warning"][1]'):
        if True:
            print('Не подтверждена')
            # window2 = Tk()
            # window2.title('Не подтверждена')
            # window2.geometry('300x250')

            # window2.mainloop()

    elif driver. find_elements_by_tag_name("tbody"):
        if True:
            print('Ошибка, площадка не найдена.')

except Exception as ex:
    print(ex)
finally:
    driver.close()
    driver.quit()

Помогите пожалуйста, может с помощью библиотеки экселя можно как-то это сделать? Основной вопрос в том, что нужно проверять ключь(guid) и при положительном ответе отправлять в id_tasks.
  • Вопрос задан
  • 92 просмотра
Пригласить эксперта
Ответы на вопрос 1
Vindicar
@Vindicar
RTFM!
Не пиши простыню кода, а разбей задачу на составляющие.
Для начала отрефактори(переделай) свой код в функцию такого вида:
def is_guid_accepted(guid: str) -> bool:
    #тут код

Т.е. функция, которая принимает GUID и возвращает либо True (подтверждён), либо False (не подтверждён). При ошибке можешь выбрасывать исключение, или тоже возвращать False.

После этого задача упростится.
1. Прочитать содержимое .xlsx файла, если так уж хочется эксель (а может, всё же csv? будет проще), вытащить из него список GUID'ов и task_id. Гуглится.
2. Для каждого GUID в списке вызвать функцию выше.
3. Если функция вернула True, то добавить task_id в список успешных.
4. Для каждого task_id в списке успешных отправить оповещение. Тебе виднее, как.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы
28 нояб. 2024, в 18:46
3000 руб./за проект
28 нояб. 2024, в 17:46
10000 руб./за проект
28 нояб. 2024, в 17:38
12000 руб./за проект