Selenium NoSuchElementException всегда возвращает True - PullRequest
0 голосов
/ 20 февраля 2020
class Errors:
    def __init__(self):
        pass
    def No_Subject(self):
        try:
            x = self.webdriver.find_element_by_xpath('//*[@id="confirmModalBtn"]')
            x.click()
        except NoSuchElementException:
            return False
        else:
            return True

Я импортирую это определение во второй класс

        self.error3 = Errors.No_Subject(self)
        print(self.error3)
>>True

Независимо от того, какой XPath я ввожу (например, я ввел data ), он возвращает True. Почему этот код не работает должным образом?

1 Ответ

0 голосов
/ 20 февраля 2020

Вам нужно понять, что на самом деле делает блок else. Прочитайте здесь

Ваш код работает правильно и возвращает значение True, поскольку ошибки не произошло. Вы можете попробовать передать случайное значение идентификатора в XPath, и это должно вернуть False

...