AirtestProject / AirtestProject/Poco

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

Đang mở
#487 2 bình luận 0 reaction 0 người được giao Xem trên GitHub
bug to be released
Ngôn ngữ chính
Python
Star
2k
Fork
341
Chỉ số merge pull request
Không có pull request nào được merge trong 30 ngày

Mô tả

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

**(重要!问题分类)**
* 图像识别相关问题 -> 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中编译均会报错

Hướng dẫn đóng góp

Chưa lập chỉ mục được hướng dẫn đóng góp cho kho mã nguồn này

Đánh giá

Issue này chưa được đánh giá.

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.