-1

Appium と Windows アプリケーション ドライバーを使用して、デスクトップ セッションで Windows アプリケーションを自動化しています。操作したい特定の要素には固有のアクセシビリティ ID がありませんが、それらのクラス名と ID の組み合わせは固有のようです。最初にクラス名で要素のリストを取得し、次に特定の ID で要素の 1 つを取得するにはどうすればよいですか?

提供されたコードの 2 行目が正しくないことは承知しています。必要な動作を示すために示しているだけです。

以下はclass名前を通してです:

class_elements = driver.find_elements_by_class_name("some_class_name")

以下はaccessibilityIDによるものです:

specific_element = class_elements.find_element_by_accessibility_id("some_id")
specific_element.click()

これらの両方をループにまとめる方法はありますか?

あなたの提案をありがとう@Moshe Slavin

次のコードを試しました

@pytest.mark.trial
def test_trial():
    className = "UIProperty"
    class_elements = ds.find_elements_by_class_name("UIProperty")

    for elm in class_elements:
        print(elm.get_attribute('id'))
        if elm.get_attribute('id') == "System.ItemNameDisplay":
            elm.click()

IDも印刷することにしました。次の結果が得
られ
まし

。SDK の Windows Inspect ツールを使用して UI 要素のプロパティを収集していますが、クラス名と ID の両方に一致する要素が確実に存在します。

4

2 に答える 2