From c0922ad84602af89e0a2204215e306009c0fe109 Mon Sep 17 00:00:00 2001 From: Maxime Gasselin Date: Tue, 17 Mar 2020 19:46:31 +0100 Subject: [PATCH] [bp] Handle logged in RedirectPage We returned a false browserunavailable in some pro accounts. Here we add a check on the redirect page. Closes: 56215@sibi, 17824@zendesk, 17830@zendesk, 17844@zendesk, 17854@zendesk, 17858@zendesk, 17863@zendesk, 17868@zendesk, 17871@zendesk, 17905@zendesk, 17923@zendesk, 16614@zendesk, 17943@zendesk, 17957@zendesk, 17966@zendesk, 17971@zendesk --- modules/bp/browser.py | 2 +- modules/bp/pages/pro.py | 3 +++ 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/modules/bp/browser.py b/modules/bp/browser.py index 3a45708dcd..5f808fb880 100644 --- a/modules/bp/browser.py +++ b/modules/bp/browser.py @@ -263,7 +263,7 @@ def login_without_2fa(self): self.location(self.login_url) self.page.login(self.username, self.password) - if self.redirect_page.is_here(): + if self.redirect_page.is_here() and not self.page.is_logged(): if self.page.check_for_perso(): raise BrowserIncorrectPassword("L'identifiant utilisé est celui d'un compte de Particuliers.") error = self.page.get_error() diff --git a/modules/bp/pages/pro.py b/modules/bp/pages/pro.py index 4b2c6b9e94..cd79c97ee3 100644 --- a/modules/bp/pages/pro.py +++ b/modules/bp/pages/pro.py @@ -38,6 +38,9 @@ def check_for_perso(self): def get_error(self): return CleanText('//div[contains(@class, "bloc-erreur")]/h3')(self.doc) + def is_logged(self): + return 'Vous êtes bien authentifié' in CleanText('//p[@class="txt"]')(self.doc) + ACCOUNT_TYPES = { 'Comptes titres': Account.TYPE_MARKET, -- GitLab