diff --git a/modules/cragr/web/browser.py b/modules/cragr/web/browser.py index db59ad5d..39268658 100644 --- a/modules/cragr/web/browser.py +++ b/modules/cragr/web/browser.py @@ -140,8 +140,7 @@ class Cragr(BaseBrowser): accounts_list.extend(self.page.get_list()) # credit cards - cards_page = self.page.cards_page() - if cards_page: + for cards_page in self.page.cards_pages(): self.location(cards_page) assert self.is_on_page(CardsPage) accounts_list.extend(self.page.get_list()) diff --git a/modules/cragr/web/pages.py b/modules/cragr/web/pages.py index 765249c8..2f9d108e 100644 --- a/modules/cragr/web/pages.py +++ b/modules/cragr/web/pages.py @@ -102,13 +102,15 @@ class _AccountsPage(BasePage): yield account - def cards_page(self): - try: - return self.document.xpath('//table[@class="ca-table"]' + - '/tr[@class="ligne-connexe"]' + - '//a/@href')[0] - except IndexError: - pass + def cards_pages(self): + for line in self.document.xpath('//table[@class="ca-table"]/tr[@class="ligne-connexe"]'): + try: + link = line.xpath('.//a/@href')[0] + except IndexError: + pass + else: + if not link.startswith('javascript:'): + yield link class CardsPage(BasePage):