diff --git a/weboob/browser/elements.py b/weboob/browser/elements.py index 8f01f78b34c04cce0f1c0d4e6d857e1866d060da..3e16b31902e93c25f5192bc8abb4eefb4c3c6bd6 100644 --- a/weboob/browser/elements.py +++ b/weboob/browser/elements.py @@ -155,6 +155,7 @@ def handle_loaders(self): class ListElement(AbstractElement): item_xpath = None + empty_xpath = None flush_at_end = False ignore_duplicate = False @@ -176,8 +177,13 @@ def find_elements(self): sufficient. """ if self.item_xpath is not None: - for el in self.el.xpath(self.item_xpath): - yield el + element_list = self.el.xpath(self.item_xpath) + if element_list: + for el in element_list: + yield el + elif self.empty_xpath is not None and not self.el.xpath(self.empty_xpath): + # Send a warning if no item_xpath node was found and an empty_xpath is defined + self.logger.warning('No element matched the item_xpath and the defined empty_xpath was not found!') else: yield self.el