diff --git a/modules/caissedepargne/browser.py b/modules/caissedepargne/browser.py index 42e3620c..824bfcaa 100644 --- a/modules/caissedepargne/browser.py +++ b/modules/caissedepargne/browser.py @@ -90,6 +90,11 @@ class CaisseEpargne(BaseBrowser): self.page.go_history(account.id) - assert self.is_on_page(IndexPage) + while 1: + assert self.is_on_page(IndexPage) - return self.page.get_history() + for tr in self.page.get_history(): + yield tr + + if not self.page.go_next(): + return diff --git a/modules/caissedepargne/pages.py b/modules/caissedepargne/pages.py index 4e470eaf..1c161f0c 100644 --- a/modules/caissedepargne/pages.py +++ b/modules/caissedepargne/pages.py @@ -149,3 +149,22 @@ class IndexPage(BasePage): yield t i += 1 + + def go_next(self): + link = self.document.xpath('//a[contains(@id, "lnkSuivante")]') + if len(link) == 0: + return False + + self.browser.select_form(name='main') + self.browser.set_all_readonly(False) + self.browser['__EVENTTARGET'] = 'MM$HISTORIQUE_COMPTE$lnkSuivante' + self.browser['__EVENTARGUMENT'] = '' + self.browser['MM$m_CH$IsMsgInit'] = 'N' + self.browser.controls.append(ClientForm.TextControl('text', 'm_ScriptManager', {'value': ''})) + self.browser['m_ScriptManager'] = 'MM$m_UpdatePanel|MM$HISTORIQUE_COMPTE$lnkSuivante' + self.browser.controls.remove(self.browser.find_control(name='Cartridge$imgbtnMessagerie', type='image')) + self.browser.controls.remove(self.browser.find_control(name='MM$m_CH$ButtonImageFondMessagerie', type='image')) + self.browser.controls.remove(self.browser.find_control(name='MM$m_CH$ButtonImageMessagerie', type='image')) + self.browser.submit() + + return True