diff --git a/modules/boursorama/browser.py b/modules/boursorama/browser.py index 63d0899e5ef52bb808180863060de8f12d5f5a62..27b24691f45a25acc86830b30ec81ecb074dd697 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 67a4bc9654c9e1c62e1c0a8265871ccdfceaf60f..31629879c3338d7cbe32b5aea52df1e4bc136391 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