AirtestProject / AirtestProject/Poco

能否新增一个获取某个元素在其兄弟节点中的索引值,或者可以直接获取该元素的上一个节点和下一个节点

オープン
#585 コメント 1 件 リアクション 0 件 担当者 0 名 GitHub で見る
主要言語
Python
スター
2k
フォーク
341
PR マージ指標
30日以内にマージされた PR はありません

説明

现在我们有一个场景是
1234567 | connect
1234568 | connect
1234569 | connect
1234566 | connect

而元素列表如下: "12345.." 和 “connect” 全都在同一级,没有对应的关系
![image](https://github.com/AirtestProject/Poco/assets/44250052/921fda59-588f-40b1-90dd-3fed7be7b580)

左侧的数字是随时变动的,我无法直接通过左侧数字定位到右侧的connect 的按钮

我自己写了一个解决的方案,但是速度不尽如人意,想来应该还是得从更底层去解决这个
def index(self):
"""
Returns the index of the element in the subset of the parent element

"""
start = time.time()
sub_query = build_query(None) # as placeholder
query = ('-', (self.query, sub_query))
obj = UIObjectProxy(self.poco)
obj.query = query
position = [x.get_position() for x in obj]
return position.index(self.get_position())

def last_sibling(self):
"""
Returns the sibling to the left of an element

"""
sub_query = build_query(None)
query = ('-', (self.query, sub_query))
obj = UIObjectProxy(self.poco)
obj.query = query
return obj[self.index() - 1]

def next_sibling(self):
"""
Returns the sibling to the right of an element

"""
sub_query = build_query(None)
query = ('-', (self.query, sub_query))
obj = UIObjectProxy(self.poco)
obj.query = query
return obj[self.index()+1]

コントリビューションガイド

このリポジトリのコントリビューションガイドは索引されていません

評価

この issue はまだ評価されていません。

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。