Change selection of keyboard (more generic)
This commit is contained in:
parent
32d792ba4c
commit
f805284567
2 changed files with 14 additions and 17 deletions
|
|
@ -50,21 +50,18 @@ class INGVirtKeyboard(VirtKeyboard):
|
||||||
"52": (165, 45, 193, 73)
|
"52": (165, 45, 193, 73)
|
||||||
}
|
}
|
||||||
|
|
||||||
def __init__(self, basepage):
|
def __init__(self, page):
|
||||||
self.basepage = basepage
|
self.page = page
|
||||||
divkeyboard = basepage.doc.find("//div[@id='clavierdisplayLogin']")
|
img = page.doc.xpath("//div[has-class('clavier')]/img")
|
||||||
if divkeyboard is None:
|
if len(img) == 0:
|
||||||
divkeyboard = basepage.doc.find("//div[@id='claviertransfer']")
|
|
||||||
try:
|
|
||||||
img = divkeyboard.xpath("img")[1]
|
|
||||||
except:
|
|
||||||
raise BrowserIncorrectPassword()
|
raise BrowserIncorrectPassword()
|
||||||
url = Attr('.', "src")(img)
|
|
||||||
|
|
||||||
VirtKeyboard.__init__(self, StringIO(basepage.browser.open(url).content),
|
url = Attr('.', "src")(img[1])
|
||||||
|
|
||||||
|
VirtKeyboard.__init__(self, StringIO(self.page.browser.open(url).content),
|
||||||
self.coords, self.color)
|
self.coords, self.color)
|
||||||
|
|
||||||
self.check_symbols(self.symbols, basepage.browser.responses_dirname)
|
self.check_symbols(self.symbols, self.page.browser.responses_dirname)
|
||||||
|
|
||||||
def get_string_code(self, string):
|
def get_string_code(self, string):
|
||||||
code = ''
|
code = ''
|
||||||
|
|
@ -80,15 +77,15 @@ class INGVirtKeyboard(VirtKeyboard):
|
||||||
code += "%d,%d" % (x, y)
|
code += "%d,%d" % (x, y)
|
||||||
return code
|
return code
|
||||||
|
|
||||||
def get_coordinates(self, xpath, password):
|
def get_coordinates(self, password):
|
||||||
temppasswd = ""
|
temppasswd = ""
|
||||||
elems = self.basepage.doc.xpath(xpath + '/font')
|
elems = self.page.doc.xpath('//div[@class="digitpad"]/span/font')
|
||||||
for i, font in enumerate(elems):
|
for i, font in enumerate(elems):
|
||||||
if Attr('.', 'class')(font) == "vide":
|
if Attr('.', 'class')(font) == "vide":
|
||||||
temppasswd += password[i]
|
temppasswd += password[i]
|
||||||
self.basepage.browser.logger.debug('We are looking for : ' + temppasswd)
|
self.page.browser.logger.debug('We are looking for : ' + temppasswd)
|
||||||
coordinates = self.get_string_code(temppasswd)
|
coordinates = self.get_string_code(temppasswd)
|
||||||
self.basepage.browser.logger.debug("Coordonates: " + coordinates)
|
self.page.browser.logger.debug("Coordonates: " + coordinates)
|
||||||
return coordinates
|
return coordinates
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -114,7 +111,7 @@ class LoginPage(HTMLPage):
|
||||||
form = self.get_form(name='mrc')
|
form = self.get_form(name='mrc')
|
||||||
form['mrc:mrg'] = 'mrc:mrg'
|
form['mrc:mrg'] = 'mrc:mrg'
|
||||||
form['AJAXREQUEST'] = '_viewRoot'
|
form['AJAXREQUEST'] = '_viewRoot'
|
||||||
form['mrc:mrldisplayLogin'] = vk.get_coordinates('//span[@id="digitpaddisplayLogin"]', password)
|
form['mrc:mrldisplayLogin'] = vk.get_coordinates(password)
|
||||||
form.submit()
|
form.submit()
|
||||||
|
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -133,7 +133,7 @@ class TransferConfirmPage(HTMLPage):
|
||||||
|
|
||||||
form['AJAXREQUEST'] = '_viewRoot'
|
form['AJAXREQUEST'] = '_viewRoot'
|
||||||
form['%s:mrgtransfer' % form.name] = '%s:mrgtransfer' % form.name
|
form['%s:mrgtransfer' % form.name] = '%s:mrgtransfer' % form.name
|
||||||
form['%s:mrltransfer' % form.name] = vk.get_coordinates('//span[@id="digitpadtransfer"]', password)
|
form['%s:mrltransfer' % form.name] = vk.get_coordinates(password)
|
||||||
form.submit()
|
form.submit()
|
||||||
|
|
||||||
@method
|
@method
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue