From b92c8d08e9a140f0034bcdbe2b24ecb3e0b21054 Mon Sep 17 00:00:00 2001 From: Maxime Gasselin Date: Fri, 9 Nov 2018 10:13:15 +0100 Subject: [PATCH] [boursorama] Exec transfer: Retry page In some case we are not yet in the transfer_charac page, you need to refresh the page. --- modules/boursorama/browser.py | 4 ++++ modules/boursorama/pages.py | 3 +++ 2 files changed, 7 insertions(+) diff --git a/modules/boursorama/browser.py b/modules/boursorama/browser.py index 63d0899e5e..27b24691f4 100644 --- a/modules/boursorama/browser.py +++ b/modules/boursorama/browser.py @@ -453,6 +453,10 @@ def init_transfer(self, transfer, **kwargs): self.page.submit_info(transfer.amount, transfer.label, transfer.exec_date) assert self.transfer_confirm.is_here() + if self.page.need_refresh(): + # In some case we are not yet in the transfer_charac page, you need to refresh the page + self.location(self.url) + assert not self.page.need_refresh() ret = self.page.get_transfer() # at this stage, the site doesn't show the real ids/ibans, we can only guess diff --git a/modules/boursorama/pages.py b/modules/boursorama/pages.py index 67a4bc9654..31629879c3 100644 --- a/modules/boursorama/pages.py +++ b/modules/boursorama/pages.py @@ -967,6 +967,9 @@ def on_load(self): if errors: raise TransferInvalidAmount(message=errors) + def need_refresh(self): + return not self.doc.xpath('//form[@name="Confirm"]//button[contains(text(), "Je valide")]') + @method class get_transfer(ItemElement): klass = Transfer -- GitLab