問題1:
1.有時(shí)候會(huì)出現(xiàn)定位到的元素位置和它真實(shí)的位置不一致的情況(每點(diǎn)一個(gè)按鈕加載另一個(gè)按鈕趟庄,所以按鈕坐標(biāo)會(huì)移動(dòng),定位時(shí)還是坐標(biāo)還是在上一步的位置镜盯,sleep也沒用)吗浩,需要我們用坐標(biāo)來矯正到正確的位置
2.在無法通過正常途徑定位到元素的時(shí)候,可用坐標(biāo)定位谢鹊,但是單純的坐標(biāo)定位算吩,換了手機(jī)后,屏幕尺寸不一致會(huì)導(dǎo)致位置偏移
解決方法:
用坐標(biāo)比例來適配不同尺寸
# 功能:定位到坐標(biāo)佃扼,tap模擬觸摸屏幕偎巢,即點(diǎn)擊
def taptest(driver, x, y):
# 設(shè)定系數(shù),控件在當(dāng)前手機(jī)的坐標(biāo)位置除以當(dāng)前手機(jī)的最大坐標(biāo)就是相對(duì)的系數(shù)了
a1 = x/720
b1 = y/1280
# 獲取當(dāng)前手機(jī)屏幕大小X,Y
X = driver.get_window_size()['width']
Y = driver.get_window_size()['height']
# 屏幕坐標(biāo)乘以系數(shù)即為用戶要點(diǎn)擊位置的具體坐標(biāo)
driver.tap([(a1*X, b1*Y)])
問題2:
位置坐標(biāo)定位不準(zhǔn)確時(shí),tap只是模擬手機(jī)觸摸兼耀,即只能完成點(diǎn)擊動(dòng)作压昼,遇到輸入框時(shí)求冷,還需要輸入
解決辦法:
調(diào)用鍵盤輸入
driver.press_keycode('9')
附錄 keycode
電話鍵
KEYCODE_CALL 撥號(hào)鍵 5
KEYCODE_ENDCALL 掛機(jī)鍵 6
KEYCODE_HOME 按鍵Home 3
KEYCODE_MENU 菜單鍵 82
KEYCODE_BACK 返回鍵 4
KEYCODE_SEARCH 搜索鍵 84
KEYCODE_CAMERA 拍照鍵 27
KEYCODE_FOCUS 拍照對(duì)焦鍵 80
KEYCODE_POWER 電源鍵 26
KEYCODE_NOTIFICATION 通知鍵 83
KEYCODE_MUTE 話筒靜音鍵 91
KEYCODE_VOLUME_MUTE 揚(yáng)聲器靜音鍵 164
KEYCODE_VOLUME_UP 音量增加鍵 24
KEYCODE_VOLUME_DOWN 音量減小鍵 25
控制鍵
KEYCODE_ENTER 回車鍵 66
KEYCODE_ESCAPE ESC鍵 111
KEYCODE_DPAD_CENTER 導(dǎo)航鍵 確定鍵 23
KEYCODE_DPAD_UP 導(dǎo)航鍵 向上 19
KEYCODE_DPAD_DOWN 導(dǎo)航鍵 向下 20
KEYCODE_DPAD_LEFT 導(dǎo)航鍵 向左 21
KEYCODE_DPAD_RIGHT 導(dǎo)航鍵 向右 22
KEYCODE_MOVE_HOME 光標(biāo)移動(dòng)到開始鍵 122
KEYCODE_MOVE_END 光標(biāo)移動(dòng)到末尾鍵 123
KEYCODE_PAGE_UP 向上翻頁鍵 92
KEYCODE_PAGE_DOWN 向下翻頁鍵 93
KEYCODE_DEL 退格鍵 67
KEYCODE_FORWARD_DEL 刪除鍵 112
KEYCODE_INSERT 插入鍵 124
KEYCODE_TAB Tab鍵 61
KEYCODE_NUM_LOCK 小鍵盤鎖 143
KEYCODE_CAPS_LOCK 大寫鎖定鍵 115
KEYCODE_BREAK Break/Pause鍵 121
KEYCODE_SCROLL_LOCK 滾動(dòng)鎖定鍵 116
KEYCODE_ZOOM_IN 放大鍵 168
KEYCODE_ZOOM_OUT 縮小鍵 169
組合鍵
KEYCODE_ALT_LEFT Alt+Left
KEYCODE_ALT_RIGHT Alt+Right
KEYCODE_CTRL_LEFT Control+Left
KEYCODE_CTRL_RIGHT Control+Right
KEYCODE_SHIFT_LEFT Shift+Left
KEYCODE_SHIFT_RIGHT Shift+Right
基本
KEYCODE_0 按鍵'0' 7
KEYCODE_1 按鍵'1' 8
KEYCODE_2 按鍵'2' 9
KEYCODE_3 按鍵'3' 10
KEYCODE_4 按鍵'4' 11
KEYCODE_5 按鍵'5' 12
KEYCODE_6 按鍵'6' 13
KEYCODE_7 按鍵'7' 14
KEYCODE_8 按鍵'8' 15
KEYCODE_9 按鍵'9' 16
KEYCODE_A 按鍵'A' 29
KEYCODE_B 按鍵'B' 30
KEYCODE_C 按鍵'C' 31
KEYCODE_D 按鍵'D' 32
KEYCODE_E 按鍵'E' 33
KEYCODE_F 按鍵'F' 34
KEYCODE_G 按鍵'G' 35
KEYCODE_H 按鍵'H' 36
KEYCODE_I 按鍵'I' 37
KEYCODE_J 按鍵'J' 38
KEYCODE_K 按鍵'K' 39
KEYCODE_L 按鍵'L' 40
KEYCODE_M 按鍵'M' 41
KEYCODE_N 按鍵'N' 42
KEYCODE_O 按鍵'O' 43
KEYCODE_P 按鍵'P' 44
KEYCODE_Q 按鍵'Q' 45
KEYCODE_R 按鍵'R' 46
KEYCODE_S 按鍵'S' 47
KEYCODE_T 按鍵'T' 48
KEYCODE_U 按鍵'U' 49
KEYCODE_V 按鍵'V' 50
KEYCODE_W 按鍵'W' 51
KEYCODE_X 按鍵'X' 52
KEYCODE_Y 按鍵'Y' 53
KEYCODE_Z 按鍵'Z' 54