Appium 安卓联系人添加报 index:error,但找不出为啥错了

careysucci · 2014年04月27日 · 最后由 careysucci 回复于 2014年04月27日 · 1608 次阅读

用代码编译后,textfields[0].send_keys("My Name") 报 index:error,请问怎么解决呀?试过很多方法了,都解决不了,谢谢
import os
from selenium import webdriver

Returns abs path relative to this file and not cwd

PATH = lambda p: os.path.abspath(
os.path.join(os.path.dirname(file), p)
)

desired_caps = {}
desired_caps['device'] = 'Android'
desired_caps['browserName'] = ''
desired_caps['version'] = '4.2.2'
desired_caps['app'] = PATH('C:\Users\xxx\Desktop\ContactManager.apk')
desired_caps['app-package'] = 'com.example.android.contactmanager'
desired_caps['app-activity'] = '.ContactManager'

driver = webdriver.Remote('http://localhost:4723/wd/hub', desired_caps)

el = driver.find_element_by_name("Add Contact")
el.click()

textfields = driver.find_elements_by_tag_name("textfield")
print("debug:",textfields)#input list
textfields[0].send_keys("My Name")
textfields[2].send_keys("someone@somewhere.com")

driver.find_element_by_name("Save").click()

driver.quit()

错误信息:
('debug:', [])
Traceback (most recent call last):
File "android_contact.py", line 24, in
textfields[1].send_keys("My Name")
IndexError: list index out of range

共收到 7 条回复 时间 点赞

就是在这个操作界面报错,求指教,谢谢

额。。是 textfields[1].send_keys("My Name")
,还是 textfields[0].send_keys("My Name"),为嘛错误信息和代码中不同。。= =

#2 楼 @monkey 是 textfields[0].send_keys("My Name"),错误信息是贴了索引为 1 的时候的,贴错了

这个测试过程中使用 uiautomatorviewer 看下,真实存不存在

这个错误我也遇到过,也纠结了好久,后来突然一下子就又可以了。

你的 appium 啥版本?版本不一致,定位也不一样,而且这个错误,说明你没找到元素啊

数据越界,说明没找到任何元素

需要 登录 后方可回复, 如果你还没有账号请点击这里 注册