handle error message when unable to login
This commit is contained in:
parent
9799912902
commit
4101ea9c3d
2 changed files with 11 additions and 4 deletions
|
|
@ -18,7 +18,7 @@
|
|||
# along with weboob. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
|
||||
from weboob.tools.browser import BaseBrowser, BrowserIncorrectPassword
|
||||
from weboob.tools.browser import BaseBrowser, BrowserIncorrectPassword, BrowserUnavailable
|
||||
|
||||
from .pages.accounts_list import AccountsList, AccountHistory
|
||||
from .pages.login import LoginPage, BadLoginPage
|
||||
|
|
@ -61,10 +61,16 @@ class SocieteGenerale(BaseBrowser):
|
|||
|
||||
self.page.login(self.username, self.password)
|
||||
|
||||
if self.is_on_page(LoginPage) or \
|
||||
self.is_on_page(BadLoginPage):
|
||||
if self.is_on_page(LoginPage):
|
||||
raise BrowserIncorrectPassword()
|
||||
|
||||
if self.is_on_page(BadLoginPage):
|
||||
error = self.page.get_error()
|
||||
if error.startswith('Votre session a'):
|
||||
raise BrowserUnavailable('Session has expired')
|
||||
else:
|
||||
raise BrowserIncorrectPassword(error)
|
||||
|
||||
def get_accounts_list(self):
|
||||
if not self.is_on_page(AccountsList):
|
||||
self.location('/restitution/cns_listeprestation.html')
|
||||
|
|
|
|||
|
|
@ -85,4 +85,5 @@ class LoginPage(BasePage):
|
|||
|
||||
|
||||
class BadLoginPage(BasePage):
|
||||
pass
|
||||
def get_error(self):
|
||||
return self.document.xpath('//span[@class="error_msg"]')[0].text.strip()
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue