Не могу разобраться с try/except
Как мне сделать так что если ошибка, то выполняется driver.get(f"{league_hrefs}-2019-2020/results"), а если и тут ошибка, то выполняется driver.get(f"{league_hrefs}-2020/results")?
try:
driver.get(f"{league_hrefs}-2020-2021/results")
driver.find_elements_by_css_selector(".event__match.event__match--static.event__match--twoLine")[0].click()
except Exception as ex:
driver.get(f"{league_hrefs}-2019-2020/results")
driver.find_elements_by_css_selector(".event__match.event__match--static.event__match--twoLine")[0].click()
except Exception as ex:
driver.get(f"{league_hrefs}-2020/results")
driver.find_elements_by_css_selector(".event__match.event__match--static.event__match--twoLine")[0].click()
Ответы (2 шт):
Автор решения: Roman Konoval
→ Ссылка
Нужно создать еще один блок try/except:
try:
driver.get(f"{league_hrefs}-2020-2021/results")
driver.find_elements_by_css_selector(".event__match.event__match--static.event__match--twoLine")[0].click()
except Exception as ex:
try:
driver.get(f"{league_hrefs}-2019-2020/results")
driver.find_elements_by_css_selector(".event__match.event__match--static.event__match--twoLine")[0].click()
except Exception as ex:
driver.get(f"{league_hrefs}-2020/results")
driver.find_elements_by_css_selector(".event__match.event__match--static.event__match--twoLine")[0].click()
Если ошибка может случиться только при get, то можно упростить:
try:
driver.get(f"{league_hrefs}-2020-2021/results")
except Exception as ex:
try:
driver.get(f"{league_hrefs}-2019-2020/results")
except Exception as ex:
driver.get(f"{league_hrefs}-2020/results")
driver.find_elements_by_css_selector(".event__match.event__match--static.event__match--twoLine")[0].click()
Автор решения: GrAnd
→ Ссылка
Как вариант, можно пройтись в цикле.
for year in ("2020-2021", "2019-2020", "2020"):
try:
driver.get(f"{league_hrefs}-{year}/results")
driver.find_elements_by_css_selector(".event__match.event__match--static.event__match--twoLine")[0].click()
break
except Exception as ex:
pass