因为银行卡号输入域有做处理,每四位一分隔,导致整个银行卡号作为一个字符串做输入时输入的内容会被分隔错乱。
android采用pressKeyCode的方式处理,iOS暂未遇到错乱的情况。
解决办法:把字母、数字键值及对应的keyCode对应起来,遍历要输入的银行卡号操作对应的keyCode值做操作。
def
enterText(
self
, text):
key
=
[
'0'
,
'1'
,
'2'
,
'3'
,
'4'
,
'5'
,
'6'
,
'7'
,
'8'
,
'9'
,
'a'
,
'b'
,
'c'
,
'd'
,
'e'
,
'f'
,
'g'
,
'h'
,
'i'
,
'j'
,
'k'
,
'l'
,
'm'
,
'n'
,
'o'
,
'p'
,
'q'
,
'r'
,
's'
,
't'
,
'u'
,
'v'
,
'w'
,
'x'
,
'y'
,
'z'
]
keyCode
=
[
'7'
,
'8'
,
'9'
,
'10'
,
'11'
,
'12'
,
'13'
,
'14'
,
'15'
,
'16'
,
'29'
,
'30'
,
'31'
,
'32'
,
'33'
,
'34'
,
'35'
,
'36'
,
'37'
,
'38'
,
'39'
,
'40'
,
'41'
,
'42'
,
'43'
,
'44'
,
'45'
,
'46'
,
'47'
,
'48'
,
'49'
,
'50'
,
'51'
,
'52'
,
'53'
,
'54'
]
for
k
in
range
(
len
(key)):
if
text
=
=
key[k]:
# print key[k], keyCode[k]
self
.driver.press_keycode(keyCode[k])
time.sleep(
1
)
else
:
pass
|