From 4e278e8cdf6e80bd8aaee65acddcdaaa774e5da2 Mon Sep 17 00:00:00 2001 From: Florent Date: Tue, 17 Sep 2013 16:38:21 +0200 Subject: [PATCH] It was to easy: multiple login form, select the good one --- modules/poivy/pages.py | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/modules/poivy/pages.py b/modules/poivy/pages.py index 45d16145..4d197264 100644 --- a/modules/poivy/pages.py +++ b/modules/poivy/pages.py @@ -32,9 +32,15 @@ class LoginPage(BasePage): def on_loaded(self): pass + def _predicate_form(self, form): + try: + return form.attrs['class'] == "form-detail" + except: + return False + def login(self, login, password): # Form without name - self.browser.select_form(nr=1) + 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')