diff --git a/weboob/tools/browser2/page.py b/weboob/tools/browser2/page.py index deb1d2eb1a36c4d369750d74ab606837203051b0..c8841f80a93acac9a212d16ff528fcb90cf5b170 100644 --- a/weboob/tools/browser2/page.py +++ b/weboob/tools/browser2/page.py @@ -140,10 +140,13 @@ def build(self, **kwargs): """ Build an url with the given arguments from URL's regexps. + :param param: Query string parameters + :rtype: :class:`str` :raises: :class:`UrlNotResolvable` if unable to resolve a correct url with the given arguments. """ browser = kwargs.pop('browser', self.browser) + params = kwargs.pop('params', None) patterns = [] for url in self.urls: patterns += normalize(url) @@ -162,7 +165,12 @@ def build(self, **kwargs): if len(kwargs): continue - return browser.absurl(url, base=True) + url = browser.absurl(url, base=True) + if params: + p = requests.models.PreparedRequest() + p.prepare_url(url, params) + url = p.url + return url raise UrlNotResolvable('Unable to resolve URL with %r. Available are %s' % (kwargs, ', '.join([pattern for pattern, _ in patterns])))