diff --git a/modules/societegenerale/pages/accounts_list.py b/modules/societegenerale/pages/accounts_list.py index a197511c9e87c8c357d21678464d9d378bb21478..4acb1505f37910044b82ef111185af875b99e670 100644 --- a/modules/societegenerale/pages/accounts_list.py +++ b/modules/societegenerale/pages/accounts_list.py @@ -187,6 +187,8 @@ def is_here(self): not bool(Link('//a[contains(@href, "per_cptBen_ajouterFrBic")]', default=NotAvailable)(self.doc)) def on_load(self): + super(AccountHistory, self).on_load() + msg = CleanText('//span[@class="error_msg"]', default='')(self.doc) if 'Le service est momentanément indisponible' in msg: raise BrowserUnavailable(msg) diff --git a/modules/societegenerale/pages/base.py b/modules/societegenerale/pages/base.py index e8ac49e2d312af4bcc3fd991dcc5b7c7dd27b309..966a7f138f3baf40125f5a028818ff6acb42dd46 100644 --- a/modules/societegenerale/pages/base.py +++ b/modules/societegenerale/pages/base.py @@ -27,6 +27,10 @@ class BasePage(HTMLPage): + def on_load(self): + if self.doc.xpath('//script[contains(text(), "gdpr/recueil")]'): + self.browser.open('https://particuliers.secure.societegenerale.fr/icd/gdpr/data/gdpr-update-compteur-clicks-client.json') + def get_error(self): try: return self.doc.xpath('//span[@class="error_msg"]')[0].text.strip() diff --git a/modules/societegenerale/pages/transfer.py b/modules/societegenerale/pages/transfer.py index 1e2b89813fb3d6f47b49cc3cda0dc8915e5a2be8..0405c8a8d4e2495bed3ede72c7e8afacedc323c0 100644 --- a/modules/societegenerale/pages/transfer.py +++ b/modules/societegenerale/pages/transfer.py @@ -33,7 +33,7 @@ from weboob.capabilities.base import find_object, NotAvailable, empty from weboob.browser.filters.standard import CleanText, Regexp, CleanDecimal, \ Env, Date -from weboob.browser.filters.html import Attr, Link +from weboob.browser.filters.html import Attr, Link, XPathNotFound from weboob.tools.capabilities.bank.transactions import FrenchTransaction from weboob.tools.capabilities.bank.iban import is_iban_valid from weboob.tools.value import Value, ValueBool @@ -78,7 +78,15 @@ def is_here(self): not bool(CleanText(u'//h1[contains(text(), "Ajouter un compte bénéficiaire de virement")]')(self.doc)) def get_add_recipient_link(self): - return Regexp(Link('//a[img[@src="/img/personnalisation/btn_ajouter_beneficiaire.jpg"]]'), 'javascript:window.location="([^"]+)"')(self.doc) + try: + link = Regexp(Link('//a[img[@src="/img/personnalisation/btn_ajouter_beneficiaire.jpg"]]'), 'javascript:window.location="([^"]+)"')(self.doc) + except XPathNotFound: + link = Regexp(Link(u'//a[contains(text(), "Ajouter un compte b")]'), 'javascript:window.location="([^"]+)"')(self.doc) + else: + # XXX check in logs if this message is visible. If not, we can remove the first xpath. + self.logger.debug('Old link found to add a recipient.') + + return link def on_load(self): excluded_errors = [