AirtestProject / AirtestProject/Poco
list(poco())某元素集(list>1),list[1]存在,但list[1].parent()元素出现异常IndexOutOfBoundsException
- Dominant language
- Python
- Stars
- 2k
- Forks
- 341
- PR merge metrics
- No merged PRs in 30d
Description
(请尽量按照下面提示内容填写,有助于我们快速定位和解决问题,感谢配合。否则直接关闭。)
**(重要!问题分类)**
* 图像识别相关问题 -> https://github.com/AirtestProject/Airtest/issues
* 测试开发环境AirtestIDE使用问题 -> https://github.com/AirtestProject/AirtestIDE/issues
* 控件识别、树状结构、poco库报错 -> 此仓库
**描述问题bug**
(简洁清晰得概括一下遇到的问题是什么。或者是报错的traceback信息。)
想根据某元素id,遍历取其父元素的兄弟,但发现list[下标大于0时].parent()会出现IndexOutOfBoundsException异常
hrpc.exceptions.RpcRemoteException: java.lang.IndexOutOfBoundsException: Index: 1, Size: 1
|-- Remote Traceback --|
java.lang.IndexOutOfBoundsException: Index: 1, Size: 1
at java.util.LinkedList.checkElementIndex(LinkedList.java:565)
at java.util.LinkedList.get(LinkedList.java:486)
at com.netease.open.libpoco.sdk.Selector.selectImpl(Selector.java:93)
at com.netease.open.libpoco.sdk.Selector.selectImpl(Selector.java:98)
at com.netease.open.libpoco.sdk.Selector.select(Selector.java:37)
at java.lang.reflect.Method.invoke(Native Method)
at com.netease.open.hrpc.backend.RpcServer.onRequest(RpcServer.java:171)
at com.netease.open.hrpc.backend.RpcServer.serve(RpcServer.java:57)
at fi.iki.elonen.NanoHTTPD$HTTPSession.execute(NanoHTTPD.java:840)
at fi.iki.elonen.NanoHTTPD$ClientHandler.run(NanoHTTPD.java:189)
at java.lang.Thread.run(Thread.java:929)
|-- Remote Traceback end --|
**复现步骤**
1. a=list(poco("id_member_point_pointPage_exchange_toExchange"))
print(a)
能获取到元素共5个:[UIObjectProxy of "id_member_point_pointPage_exchange_toExchange[0]", UIObjectProxy of "id_member_point_pointPage_exchange_toExchange[1]", UIObjectProxy of "id_member_point_pointPage_exchange_toExchange[2]", UIObjectProxy of "id_member_point_pointPage_exchange_toExchange[3]", UIObjectProxy of "id_member_point_pointPage_exchange_toExchange[4]"]
2. 尝试list[0]取元素&list[0].parent()取元素正常
print(poco("id_member_point_pointPage_exchange_toExchange")[0].exists())
print(poco("id_member_point_pointPage_exchange_toExchange")[0].parent().exists())
均能成功返回均为True
3. 尝试list[下标1-4]取元素,正常&list[下标1-4].parent()取元素,异常报错
print(poco("id_member_point_pointPage_exchange_toExchange")[1].exists()) 能正常返回True
print(poco("id_member_point_pointPage_exchange_toExchange")[1].parent().exists()) 出现异常,报错IndexOutOfBoundsException
**预期效果**
(预期想要得到什么、见到什么)
期望能正常取到list[下标大于0]的父亲&其兄弟&子元素
**相关截图**

**python 版本:** `python3.7.8`
**poco 版本:** `1.0.69`
> poco版本通过`pip freeze`可以命令可以查到
**设备:**
- 型号: HUAWEI nova8/oppo r11
- 系统: HarmonyOS 2.0/android 8.1
- (别的信息)
**其他相关环境信息**
暂无,目前airtestIDE中编译均会报错
Contributor guide
No contributing guide indexed for this repository
Assessment
This issue has not been assessed yet.