AirtestProject / AirtestProject/Poco

list(poco())某元素集(list>1),list[1]存在,但list[1].parent()元素出现异常IndexOutOfBoundsException

Abierto
#487 2 comentarios 0 reacciones 0 asignados Ver en GitHub
bug to be released
Lenguaje dominante
Python
Estrellas
2k
Forks
341
Métricas de merge de PR
Sin PR fusionados en 30 d

Descripción

(请尽量按照下面提示内容填写,有助于我们快速定位和解决问题,感谢配合。否则直接关闭。)

**(重要!问题分类)**
* 图像识别相关问题 -> 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]的父亲&其兄弟&子元素

**相关截图**
![image](https://user-images.githubusercontent.com/13377528/132484014-91d3f57d-5bea-45f9-a173-8fb84ed14298.png)

**python 版本:** `python3.7.8`

**poco 版本:** `1.0.69`
> poco版本通过`pip freeze`可以命令可以查到

**设备:**
- 型号: HUAWEI nova8/oppo r11
- 系统: HarmonyOS 2.0/android 8.1
- (别的信息)

**其他相关环境信息**
暂无,目前airtestIDE中编译均会报错

Guía de contribución

No hay ninguna guía de contribución indexada para este repositorio

Evaluación

Este issue todavía no se ha evaluado.

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.