Не получается обработать исключение NoSuchElementException Selenium

Большую часть времени код работает стабильно, но иногда выдает ошибку NoSuchElementException, не смотря на то, что эта ошибка обрабатывается в блоке except. Я приложу к этому вопросу только часть кода, но она будет отражать суть ошибки. Он может обрабатывать от нескольких десятков до нескольких сотен строчек из документа, но эта ошибка все равно иногда возникает. Кто сталкивался с подобным и что делать в такой ситуации?

from selenium.common.exceptions import NoSuchElementException
from selenium.webdriver.common.by import By
from selenium import webdriver

driver = webdriver.Chrome()


def plac():
    with open('bd.txt', 'r') as file:
        for line in file:
            driver.get(line)
            try:
                def calc():
                    try:
                        driver.implicitly_wait(10)
                        cheap_item = driver.find_element(By.XPATH, "XPATH1").text #<-ошибка
                    except NoSuchElementException:
                        cheap_item = driver.find_element(By.XPATH, 'XPATH2').text

                    if cheap_item[0].isalpha():
                        return
                    else:
                        pass
                calc()
            except NoSuchElementException:
                driver.refresh()
                driver.implicitly_wait(2)
                calc()

Код ошибки:

cheap_item = driver.find_element(By.XPATH, "XPATH1"
selenium.common.exceptions.NoSuchElementException: Message: no such element: Unable to locate element:

Ответы (1 шт):

Автор решения: freezy

Проблему удалось решить убрав except, который обновляет страницы в случае необходимости

from selenium.common.exceptions import NoSuchElementException
from selenium.webdriver.common.by import By
from selenium import webdriver

driver = webdriver.Chrome()

def plac():
    with open('bd.txt', 'r') as file:
        for line in file:
            driver.get(line)

            def calc():
                driver.implicitly_wait(1)
                try:
                    refresh = driver.find_element(By.XPATH, '//*[@id="searchResultsTable"]/div').text.strip()
                    while len(refresh) == 74:
                        print('Refresh the page...')
                        driver.refresh()
                        driver.implicitly_wait(2)
                        refresh = driver.find_element(By.XPATH, '//*[@id="searchResultsTable"]/div').text.strip()
                except NoSuchElementException:
                    pass
                
                try:
                    driver.implicitly_wait(10)
                    cheap_item = driver.find_element(By.XPATH, "XPATH1").text
                except NoSuchElementException:
                    cheap_item = driver.find_element(By.XPATH, 'XPATH2').text

                if cheap_item[0].isalpha():
                    return
                else:
                    pass
            calc()
        
plac()
→ Ссылка