Множество операторов try / except, что является лучшим / более традиционным оптимизированным способом написания моего кода - PullRequest
0 голосов
/ 13 июля 2020
while True:   #shift 9
    try:
        shift_apply(9)
        break
    except: 
        try:
            driver.find_elements_by_xpath("//*[contains(text(),\
                                                    'Filter')]")[1].click()
            time.sleep(1)
            try: 
                driver.find_element_by_xpath('//*[@aria-label="Close"]')\
                .click()
            except:
                pass
        except:
            pass

while True:
    try:
        shift_confirm()
        break
    except:
        pass    

Цель кода - подать заявку на смену и как можно быстрее подтвердить смену, которая обновляется в определенное время (в противном случае список смен будет пуст). Я хочу, чтобы функция shift_apply() использовалась, когда это возможно, иначе она просто будет нажимать кнопку фильтра, пока не появится назначенный сдвиг. Третий оператор try / except предназначен для закрытия ошибок сервера, которые иногда появляются на веб-сайте. Последний оператор while True: вызван тем, что есть кнопка применения, а затем кнопка подтверждения, однако время, необходимое для появления кнопки подтверждения, зависит от веб-сайта / inte rnet, поэтому я не смог бы последовательно использовать a time.sleep().

Мне было интересно, есть ли более чистый способ написания кода, и я также понимаю, что except: pass считается плохой практикой кодирования, но я не знаю ни одного другие утверждения, которые соответствуют моим потребностям.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...