From 6d0dd805226f126506d42b962c8066631ff2a021 Mon Sep 17 00:00:00 2001 From: Florent Date: Thu, 26 Sep 2013 12:56:04 +0200 Subject: [PATCH] Fuck anti-scrapping A lot of similar forms in the source (ten...), with a hidden value to validate a real user (form selected by javascript). But we are lucky, this id can be read is the newsletter form or in the free call form. --- modules/poivy/pages.py | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/modules/poivy/pages.py b/modules/poivy/pages.py index 39852c29..6430528d 100644 --- a/modules/poivy/pages.py +++ b/modules/poivy/pages.py @@ -47,11 +47,18 @@ class LoginPage(BasePage): captcha = self.document.xpath('//label[@class="label_captcha_input"]') if len(captcha) > 0: return False + + form_newsletter = self.document.xpath('//form[@id="newsletter_form"]')[0] + hidden_input = form_newsletter.xpath('./input[@type="hidden"]')[0] + hidden_id = hidden_input.attrib["value"] + hidden_name = hidden_input.attrib["name"] + # Form without name self.browser.select_form(predicate=self._predicate_form) self.browser.set_all_readonly(False) self.browser['login[username]'] = login.encode('iso-8859-1') self.browser['login[password]'] = password.encode('iso-8859-1') + self.browser[hidden_name] = hidden_id self.browser.submit(nologin=True) return True