From a096755b4d7de110356577c190842a9494205f15 Mon Sep 17 00:00:00 2001 From: Martin Lavoie Date: Thu, 3 Jun 2021 15:58:37 +0200 Subject: [PATCH] [fortuneo] Check for action needed on the account page Sometime the account list page is fine but anything after that gets you an action needed. --- modules/fortuneo/browser.py | 4 ++++ modules/fortuneo/pages/accounts_list.py | 1 + 2 files changed, 5 insertions(+) diff --git a/modules/fortuneo/browser.py b/modules/fortuneo/browser.py index 217df70130..25bf49bc57 100644 --- a/modules/fortuneo/browser.py +++ b/modules/fortuneo/browser.py @@ -276,6 +276,10 @@ def iter_accounts(self): if self.process_skippable_message(): self.location(account._history_link) + action_needed_message = self.page.get_action_needed_message() + if action_needed_message: + raise ActionNeeded(action_needed_message) + if self.loan_contract.is_here(): loan = Loan.from_dict(account.to_dict()) loan._ca = account._ca diff --git a/modules/fortuneo/pages/accounts_list.py b/modules/fortuneo/pages/accounts_list.py index a055afb518..4519e47ed4 100644 --- a/modules/fortuneo/pages/accounts_list.py +++ b/modules/fortuneo/pages/accounts_list.py @@ -97,6 +97,7 @@ def get_action_needed_message(self): + '| //span[contains(text(), "Nouveau mot de passe")]' + '| //span[contains(text(), "Renouvellement de votre mot de passe")]' + '| //span[contains(text(), "Mieux vous connaître")]' + + '| //span[contains(text(), "mettre à jour vos informations personnelles")]/ancestor::div[1]' + '| //span[contains(text(), "Souscrivez au Livret + en quelques clics")]' + '| //p[@class="warning" and contains(text(), "Cette opération sensible doit être validée par un code sécurité envoyé par SMS")]' )(self.doc) -- GitLab