如题,登陆某 app 需要输入密码
手动在键盘输入密码,假设密码是:"Abc@123",能登陆成功
但是通过 adb 输入相同密码(输入的密码确认是一样的),却提示密码错误
adb shell input text Abc@123
尝试使用 python appium ,一个一个字符输入也提示密码错误
def input_keycode(self, text):
for i in text:
time.sleep(0.5)
if i == '@':
self.driver.press_keycode(77)
elif i.isnumeric():
keycode = int(i) + 7
self.driver.press_keycode(keycode)
else:
if i.isupper():
keycode = ord(i.lower()) - ord('a') + 29
self.driver.press_keycode(keycode, 1)
else:
keycode = ord(i) - ord('a') + 29
self.driver.press_keycode(keycode)
难道安卓能检测到输入方式? 不太懂,求大佬们解答🙏
1
alphaControler 161 天前 via Android
keycode 对应的字符不是你想的那样
|
2
beixiao 161 天前 via Android
用 uiautomator2 试试,最近也遇到一个输入框必须要用 adb 输入才行😂
|
3
darkengine 161 天前
可以写个 demo 试试,拖个 EditText 用 adb shell input 输入,用 logcat 打出来看是不是变了
|
4
drymonfidelia 161 天前
好像不是 keycode 的问题,印象里确实有办法检测 keyup 的来源,好多年没做 android 开发了
|
5
mfyhx1417 OP @alphaControler 是一样的
|
6
mfyhx1417 OP 好像知道问题了,应该是安卓那边使用了自定义键盘。
|