diff --git a/modules/creditdunord/browser.py b/modules/creditdunord/browser.py index 73e2f520fb2301c03a6a71f602da96ebc17a44cb..5d8d941c367db2aac0baace83d294a7e9556f4e8 100644 --- a/modules/creditdunord/browser.py +++ b/modules/creditdunord/browser.py @@ -64,6 +64,8 @@ def logged(self): def do_login(self): self.login.go().login(self.username, self.password) + if self.redirect.is_here(): + self.page.check_error() if self.accounts.is_here(): expired_error = self.page.get_password_expired() if expired_error: diff --git a/modules/creditdunord/pages.py b/modules/creditdunord/pages.py index 19b9b4c3eb11c76c7b39b223c845f4558015635a..549d153bed4a9ab7310b85815febbd03193c87b8 100755 --- a/modules/creditdunord/pages.py +++ b/modules/creditdunord/pages.py @@ -98,7 +98,15 @@ def get_string_code(self, string): class RedirectPage(HTMLPage): - pass + def check_error(self): + error = CleanText(self.doc.xpath('//script[contains(text(), "erreur")]'))(self) + if error: + error_link = re.search(r'href="(.*)"', error).group(1) + error_page = self.browser.location(error_link) + err_message = CleanText(error_page.page.doc.xpath('//div/b[contains(@class, "attentionErreur")]'))(self) + if err_message == "Nous n'avons pas pu vous authentifier.": + raise BrowserIncorrectPassword("Nous n'avons pas pu vous authentifier.") + assert False, 'Never seen this error message before: %s' % err_message class EntryPage(LoggedPage, HTMLPage):