def login(self): """ Attempt to log in. Note: this method does nothing if we are already logged in. """ assert isinstance(self.username, basestring) assert isinstance(self.password, basestring) if self.is_logged(): return if not self.is_on_page(LoginPage): self.home() self.page.login(self.username) self.page.login2() self.page.login3(self.password) if not self.is_logged(): raise BrowserIncorrectPassword() if self.is_on_page(ErrorPage): raise BrowserIncorrectPassword(self.page.get_error()) v = urlsplit(self.page.url) self.DOMAIN = v.netloc
def login(self): assert isinstance(self.username, basestring) assert isinstance(self.password, basestring) assert self.password.isdigit() data = {'Ident': self.username} r = self.readurl('https://client.hsbc.fr/cgi-bin/emcgi?Appl=WEBACC', urllib.urlencode(data), if_fail='raise') m = re.search('sessionid=([^ "]+)', r, flags=re.MULTILINE) if not m: raise BrowserIncorrectPassword() self._session = m.group(1) data = {'Secret': self.password} r = self.readurl( 'https://client.hsbc.fr/cgi-bin/emcgi?sessionid=%s' % self._session, urllib.urlencode(data)) if r.find('Erreur Identification') >= 0: raise BrowserIncorrectPassword() m = re.search('url = "/cgi-bin/emcgi\?sessionid=([^& "]+)&debr="', r, flags=re.MULTILINE) if not m: raise BrokenPageError('Unable to find session token') self._session = m.group(1)
def login(self): """ Attempt to log in. Note: this method does nothing if we are already logged in. """ assert isinstance(self.username, basestring) assert isinstance(self.password, basestring) if self.is_logged(): return if not self.is_on_page(LoginPage): self.location('https://b-net.barclays.fr/barclaysnetV2/logininstit.do?lang=fr&nodoctype=0', no_login=True) self.page.login(self.username, self.password) if not self.page.has_redirect(): raise BrowserIncorrectPassword() self.location('loginSecurite.do', no_login=True) self.page.login(self.secret) if not self.is_logged(): raise BrowserIncorrectPassword()
def login(self): assert isinstance(self.device, basestring) assert isinstance(self.enable_twofactors, bool) assert self.password.isdigit() if not self.is_on_page(LoginPage): self.location('https://' + self.DOMAIN + '/connexion.phtml', no_login=True) self.page.login(self.username, self.password) if self.is_on_page(LoginPage): raise BrowserIncorrectPassword() #after login, we might be redirected to the two factor #authentication page #print "handle authentication" self.handle_authentication() self.location('/comptes/synthese.phtml', no_login=True) #if the login was correct but authentication code failed, #we need to verify if bourso redirect us to login page or authentication page if self.is_on_page(LoginPage): raise BrowserIncorrectAuthenticationCode()
def on_loaded(self): errors = [] for errdiv in self.parser.select(self.document.getroot(), 'div.errormsg'): errors.append(errdiv.text.encode('utf-8').strip()) if len(errors) > 0: raise BrowserIncorrectPassword(', '.join(errors))
def login(self): assert isinstance(self.username, basestring) assert isinstance(self.password, basestring) # not necessary (and very slow) #self.location('https://www.credit-du-nord.fr/', no_login=True) m = re.match('www.([^\.]+).fr', self.DOMAIN) if not m: bank_name = 'credit-du-nord' self.logger.error('Unable to find bank name for %s' % self.DOMAIN) else: bank_name = m.group(1) data = { 'bank': bank_name, 'pagecible': 'vos-comptes', 'password': self.password.encode(self.ENCODING), 'pwAuth': 'Authentification+mot+de+passe', 'username': self.username.encode(self.ENCODING), } self.location(self.buildurl('/saga/authentification'), urllib.urlencode(data), no_login=True) if not self.is_logged(): raise BrowserIncorrectPassword() m = re.match('https://[^/]+/vos-comptes/(\w+).*', self.page.url) if m: self.account_type = m.group(1)
def login(self): params = urlencode({ 'codeEspace': 'NO', 'codeEFS': '01', 'codeSi': '001', 'noPersonne': self.config['login'].get(), 'motDePasse': self.config['password'].get() }) if 'no_check' in self.config and self.config['no_check'].get() == "y": conn = HellHTTPS("www.cmb.fr") else: conn = HellHTTPS("www.cmb.fr", ca_file=self.AUTH_CERT, callBack=self.sslCallBack) conn.connect() headers = {'Content-Type': 'application/x-www-form-urlencoded'} conn.request("POST", "/domiweb/servlet/Identification", params, headers) response = conn.getresponse() conn.close() if response.status == 302: self.cookie = response.getheader('Set-Cookie').split(';')[0] self.cookie += ';' return True else: raise BrowserIncorrectPassword() return False
def login(self): self.location('https://www.espaceclient.bouyguestelecom.fr/ECF/jsf/submitLogin.jsf', no_login=True) self.page.login(self.username, self.password) assert self.is_on_page(LoginSASPage) self.page.login() if not self.is_logged(): raise BrowserIncorrectPassword()
def on_loaded(self): warn = self.document.xpath('//div[@id="message_renouvellement_mot_passe"]') if len(warn) > 0: raise BrowserIncorrectPassword(warn[0].text) # load content of loading divs. divs = [] for div in self.document.xpath('//div[starts-with(@id, "as_")]'): loading = div.xpath('.//span[@class="loading"]') if len(loading) == 0: continue input = div.xpath('.//input')[0] divs.append([div, input.attrib['name']]) if len(divs) > 0: args = {} for i, (div, name) in enumerate(divs): args['key%s' % i] = name args['div%s' % i] = div.attrib['id'] args['time'] = 0 r = self.browser.openurl(self.browser.buildurl('/AsynchAjax', **args)) data = json.load(r) for i, (div, name) in enumerate(divs): html = data['data'][i]['flux'] div.clear() div.insert(0, etree.fromstring(html, parser=etree.HTMLParser()))
def login(self): """ Attempt to log in. Note: this method does nothing if we are already logged in. """ assert isinstance(self.username, basestring) assert isinstance(self.password, basestring) # Do we really need to login? if self.is_logged(): self.logger.debug('already logged in') return self.is_logging = True # Are we on the good page? if not self.is_on_page(LoginPage): self.logger.debug('going to login page') BaseBrowser.home(self) self.logger.debug('attempting to log in') self.page.login(self.username, self.password) self.is_logging = False if not self.is_logged(): raise BrowserIncorrectPassword() self.addheaders = [['User-agent', self.USER_AGENTS['desktop_firefox']]]
def __init__(self, basepage): divkeyboard = basepage.document.find( "//div[@id='clavierdisplayLogin']") if divkeyboard is None: divkeyboard = basepage.document.find( "//div[@id='claviertransfer']") try: img = divkeyboard.xpath("img")[1] except: raise BrowserIncorrectPassword() url = img.attrib.get("src") coords = {} coords["11"] = (5, 5, 33, 33) coords["21"] = (45, 5, 73, 33) coords["31"] = (85, 5, 113, 33) coords["41"] = (125, 5, 153, 33) coords["51"] = (165, 5, 193, 33) coords["12"] = (5, 45, 33, 73) coords["22"] = (45, 45, 73, 73) coords["32"] = (85, 45, 113, 73) coords["42"] = (125, 45, 153, 73) coords["52"] = (165, 45, 193, 73) VirtKeyboard.__init__(self, basepage.browser.openurl(url), coords, self.color) self.check_symbols(self.symbols, basepage.browser.responses_dirname)
def login(self): """ Attempt to log in. Note: this method does nothing if we are already logged in. """ assert isinstance(self.username, basestring) assert isinstance(self.password, basestring) if self.is_logged(): return self._ua_handlers['_cookies'].cookiejar.clear() if not self.is_on_page(LoginPage): self.location( 'https://www.caisse-epargne.fr/particuliers/ind_pauthpopup.aspx?mar=101®=&fctpopup=auth&cv=0', no_login=True) self.page.login(self.username) if not self.page.login2(self.nuser, self.password): # perso self.page.login3(self.password) if not self.is_logged(): raise BrowserIncorrectPassword() v = urlsplit(self.page.url) self.DOMAIN = v.netloc
def login(self): if not self.is_on_page(LoginPage): self.location( 'http://id.orange.fr/auth_user/bin/auth_user.cgi?url=http://www.orange.fr', no_login=True) self.page.login(self.username, self.password) if not self.is_logged(): raise BrowserIncorrectPassword()
def on_loaded(self): try: raise BrowserIncorrectPassword( self.parser.tocleanstring( self.parser.select(self.document.getroot(), '.messErreur', 1))) except BrokenPageError: pass
def login(self): assert isinstance(self.username, basestring) assert isinstance(self.password, basestring) if not self.is_on_page(LoginPage): self.location(self.loginp) self.page.login(self.username, self.password) if self.is_on_page(LoginPage): raise BrowserIncorrectPassword()
def login(self): service_url = 'http://www.sfr.fr/xmscomposer/j_spring_cas_security_check' self.location('https://www.sfr.fr/cas/login?service=%s' % urllib.quote_plus(service_url), no_login=True) self.page.login(self.username, self.password) if not self.is_logged(): raise BrowserIncorrectPassword()
def login(self): if not self.is_on_page(LoginPage): self.location('http://www.arretsurimages.net/forum/login.php', no_login=True) self.page.login(self.username, self.password) if not self.is_logged(): raise BrowserIncorrectPassword()
def login(self): assert isinstance(self.username, basestring) assert isinstance(self.password, basestring) if not self.is_on_page(HomePage): self.location('/indexcle.html', no_login=True) self.page.login(self.username, self.password) if self.is_on_page(AlreadyConnectedPage): raise BrowserIncorrectPassword( "Another session is already open. Please try again later.") if not self.is_logged(): raise BrowserIncorrectPassword( "Invalid login/password.\n" "If you did not change anything, be sure to check for password renewal request\n" "on the original website.\n" "Automatic renewal will be implemented later.")
def on_loaded(self): BasePage.on_loaded(self) warns = self.parser.select(self.document.getroot(), 'span.warning') for warn in warns: text = self.parser.tocleanstring(warn) if text.startswith('Your username'): raise BrowserIncorrectPassword(text) if text.startswith('You are banned'): raise BrowserBanned(text)
def login(self): assert isinstance(self.username, basestring) assert isinstance(self.password, basestring) if not self.is_on_page(HomePage): self.location('%s://%s/index.aspx' % (self.PROTOCOL, self.BASEURL), no_login=True) if not self.page.login(self.username, self.password) or \ not self.is_logged() or \ (self.is_on_page(LoginPage) and self.page.is_error()): raise BrowserIncorrectPassword()
def login(self): data = {'login': '******', 'username': self.username, 'password': self.password, } self.location('%s/ucp.php?mode=login' % self.BASEPATH, urllib.urlencode(data), no_login=True) assert self.is_on_page(LoginPage) if not self.page.is_logged(): raise BrowserIncorrectPassword(self.page.get_error_message())
def login(self): assert isinstance(self.username, basestring) assert isinstance(self.password, basestring) if not self.is_on_page(LoginPage): self.location('https://' + self.DOMAIN + '/en/cgi-bin/webscr?cmd=_login-run') self.page.login(self.username, self.password) if self.is_on_page(LoginPage): raise BrowserIncorrectPassword()
def login(self): assert isinstance(self.username, basestring) assert isinstance(self.password, basestring) self.stay_or_go(LoginPage, no_login=True) self.page.login(self.username, self.password) self.location(self.page_url('loginSecurite')+'?_top', no_login=True) if not self.is_logged(): raise BrowserIncorrectPassword()
def login(self): assert isinstance(self.username, basestring) assert isinstance(self.password, basestring) if not self.is_on_page(HomePage): self.location('https://sbib.si.leschampslibres.fr/iii/cas/login?null', no_login=True) self.page.login(self.username, self.password) # Get home and get ID self.location('http://opac.si.leschampslibres.fr/iii/encore/home?lang=frf', no_login=True) self.iduser = self.page.get_id() self.logger.debug('Get ID ' + self.iduser) if not self.is_logged(): raise BrowserIncorrectPassword()
def login(self): assert isinstance(self.username, basestring) assert isinstance(self.password, basestring) assert self.username.isdigit() if not self.is_on_page(LoginPage): self.location('https://mobile.free.fr/moncompte/index.php') self.page.login(self.username, self.password) if self.is_on_page(LoginPage): raise BrowserIncorrectPassword()
def login(self): assert isinstance(self.username, basestring) assert isinstance(self.password, basestring) if not self.is_on_page(LoginPage): self.location('https://www.creditmutuel.fr/', no_login=True) self.page.login(self.username, self.password) if not self.is_logged() or self.is_on_page(LoginErrorPage): raise BrowserIncorrectPassword() self.getCurrentSubBank()
def login(self): assert isinstance(self.username, basestring) assert isinstance(self.password, basestring) assert self.password.isdigit() if not self.is_on_page(LoginPage): self.home() self.page.login(self.username, self.password) self.location('/UNE?ch6=0&ch8=2000&chA=1&chh=O', no_login=True) if not self.is_logged(): raise BrowserIncorrectPassword()
def login(self): assert isinstance(self.username, basestring) assert isinstance(self.password, basestring) assert self.password.isdigit() if not self.is_on_page(LoginPage): self.home() self.page.login(self.username, self.password) self.location('/NSFR?Action=DSP_VGLOBALE', no_login=True) if self.is_on_page(LoginPage): raise BrowserIncorrectPassword()
def login(self): if not self.is_on_page(LoginPage): self.location( 'https://voscomptesenligne.labanquepostale.fr/wsost/OstBrokerWeb/loginform?TAM_OP=login&' 'ERROR_CODE=0x00000000&URL=%2Fvoscomptes%2FcanalXHTML%2Fidentif.ea%3Forigin%3Dparticuliers', no_login=True) self.page.login(self.username, self.password) if self.is_on_page(BadLoginPage): raise BrowserIncorrectPassword() if self.is_on_page(AccountDesactivate): raise BrowserBanned()
def login(self): assert isinstance(self.username, basestring) assert isinstance(self.password, basestring) if not self.is_on_page(LoginPage): self.location('/login') if not self.page.login(self.username, self.password): raise BrowserBanned( 'Too many connections from you IP address: captcha enabled') if self.is_on_page(LoginPage) or self.is_on_page(ErrorPage): raise BrowserIncorrectPassword()