diff --git a/weboob/browser/filters/standard.py b/weboob/browser/filters/standard.py index 7596b240f0bf37a26b9457f7f4f8c17a0753aa35..331f7f0fa193de3822ad3d47ff53916d7fac63fb 100644 --- a/weboob/browser/filters/standard.py +++ b/weboob/browser/filters/standard.py @@ -595,8 +595,14 @@ def filter(self, txt): if isinstance(txt, (tuple, list)): txt = u' '.join([t.strip() for t in txt.itertext()]) - m = self._regex.search(txt) if self.nth == 0 else \ - nth(self._regex.finditer(txt), self.nth) + m = None + try: + m = self._regex.search(txt) if self.nth == 0 else \ + nth(self._regex.finditer(txt), self.nth) + except TypeError: + msg = '%r is not a string or bytes-like object' % txt + return self.default_or_raise(RegexpError(msg)) + if not m: msg = 'Unable to find %s %s in %r' % (ordinal(self.nth), self.pattern, txt) return self.default_or_raise(RegexpError(msg))