PythonにおけるAppiumで、すべてのアプリ要素を反復処理させる方法

Appiumで全コントロールを走査する一般的な手順は次のとおりです。

  1. Appiumライブラリのインストール:pip install Appium-Python-Clientコマンドでインストールできます。
  2. 関連ライブラリとクラスをインポートします。
from appium import webdriver
from appium.webdriver.common.mobileby import MobileBy
from appium.webdriver.common.touch_action import TouchAction
from appium.webdriver.common.multi_action import MultiAction
  1. Appium接続パラメータを設定する:
desired_caps = {
    "platformName": "Android",
    "platformVersion": "8.0.0",
    "deviceName": "Android Emulator",
    "appPackage": "com.example.app",
    "appActivity": "com.example.app.MainActivity"
}
  1. Appiumドライバーオブジェクトを作成する:
driver = webdriver.Remote('http://localhost:4723/wd/hub', desired_caps)
  1. すべての控件を反復処理する
# 获取当前页面所有控件
elements = driver.find_elements(MobileBy.XPATH, "//*")

# 遍历控件
for element in elements:
    # 进行相应的操作,如获取文本、点击等
    print(element.text)
    element.click()
  1. Appium ドライバを終了する:
driver.quit()

上記コード例では、driver.find_elementsメソッドはXPathの定位方法を使用して現在のページのすべての制御を取得し、それらの各制御を走査して対応する操作を実行します。XPathの定位式を実際の状況に応じて変更したり、By.ID、By.CLASS_NAMEなど他の定位方法を使用したりできます。

bannerAds