Я пытаюсь использовать два except
в следующем коде:
try:
Contributions = driver.find_element_by_xpath('//*[@id="_ctl0"]/table[2]/tbody/tr[2]/td[2]/table[5]/tbody/tr[5]/td[2]/span').text
Expenditures = driver.find_element_by_xpath('//*[@id="_ctl0"]/table[2]/tbody/tr[2]/td[2]/table[5]/tbody/tr[7]/td[2]/span').text
except NoSuchElementException:
Contributions = driver.find_element_by_xpath('//*[@id="_ctl0"]/table[2]/tbody/tr[2]/td[2]/table[4]/tbody/tr[5]/td[2]/span').text
Expenditures = driver.find_element_by_xpath('//*[@id="_ctl0"]/table[2]/tbody/tr[2]/td[2]/table[4]/tbody/tr[7]/td[2]/span').text
except NoSuchElementException:
Contributions = None
Expenditures = None
Я получаю следующее сообщение об ошибке:
#First Error
NoSuchElementException Traceback (most recent call last)
#Second Error
During handling of the above exception, another exception occurred:
NoSuchElementException Traceback (most recent call last)
#Third Error
NoSuchElementException: Message: no such element: Unable to locate element: {"method":"xpath","selector":"//*[@id="_ctl0"]/table[2]/tbody/tr[2]/td[2]/table[4]/tbody/tr[5]/td[2]/span"}
(Session info: chrome=83.0.4103.97)
По какой-то причине код застревает на втором исключении и не пытается выполнить третий за исключением.
Если элемент не может быть найден после второго исключения, я просто хочу заполнить Contributions
и Expenditures
отсутствующим и позволить коду пройти .