Appium と Windows アプリケーション ドライバーを使用して、デスクトップ セッションで Windows アプリケーションを自動化しています。操作したい特定の要素には固有のアクセシビリティ ID がありませんが、それらのクラス名と ID の組み合わせは固有のようです。最初にクラス名で要素のリストを取得し、次に特定の ID で要素の 1 つを取得するにはどうすればよいですか?
提供されたコードの 2 行目が正しくないことは承知しています。必要な動作を示すために示しているだけです。
以下はclass
名前を通してです:
class_elements = driver.find_elements_by_class_name("some_class_name")
以下はaccessibility
IDによるものです:
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 の両方に一致する要素が確実に存在します。