diff --git a/modules/aviva/browser.py b/modules/aviva/browser.py index 5a1bf4a4a2c26d776d3055cb689ffb7714a6dd37..5906d57c26fcee610678a7d8b065b9738404921a 100644 --- a/modules/aviva/browser.py +++ b/modules/aviva/browser.py @@ -22,7 +22,7 @@ from weboob.browser import LoginBrowser, need_login from weboob.browser.url import BrowserParamURL -from weboob.capabilities.base import empty, NotAvailable +from weboob.capabilities.base import empty from weboob.capabilities.bank import Account from weboob.exceptions import ( BrowserIncorrectPassword, BrowserPasswordExpired, @@ -116,11 +116,11 @@ def iter_investment(self, account): if not empty(inv.code): # Need to go first on InvestDetailPage... self.invest_detail.go(isin=inv.code) - # ...to then request the InvestPerformancePage tab - self.invest_performance.go() - self.page.fill_investment(obj=inv) - else: - inv.unitprice = inv.diff_ratio = inv.description = NotAvailable + # Sometimes the page loads but there is no info + if not self.page.is_empty(): + # ...to then request the InvestPerformancePage tab + self.invest_performance.go() + self.page.fill_investment(obj=inv) yield inv @need_login diff --git a/modules/aviva/pages/detail_pages.py b/modules/aviva/pages/detail_pages.py index f69c6c8535a7e0f6cc4a7c588f20cd5d8ca7f8e3..b074967304309ccee6a9b2cf6c5d9a9f15f758db 100644 --- a/modules/aviva/pages/detail_pages.py +++ b/modules/aviva/pages/detail_pages.py @@ -271,7 +271,8 @@ def on_load(self): class InvestDetailPage(LoggedPage, HTMLPage): - pass + def is_empty(self): + return not self.doc.xpath('//table') class InvestPerformancePage(LoggedPage, HTMLPage):