By resource-id

Identifying the MobileElement by “id ” which is a unique parameter. It takes String as an argument. If an element isn't identified it throws an exception as No Such Element Exception.


Syntax : driver.find_element(AppiumBy.ID,"Locator_Value")


ID Locator

Let us see how to click on the button using the ID locator value.

Example: In the below example we are launching the app on an Android device and clicking on a button using id locator.

  • Launch the App on an Android device.
  • Click on the button using ID locator
  • Wait for 2 seconds
  • Close the App

ByID_Locator.py

from appium import webdriver
import time
from appium.webdriver.common.appiumby import AppiumBy

# Step 1 : Create "Desired Capabilities"
desired_caps = {}
desired_caps['platformName'] = 'Android'
desired_caps['automationName'] = 'UiAutomator2'
desired_caps['platformVersion'] = '10'
desired_caps['deviceName'] = 'Pixel3XL'
desired_caps['app'] = ('/Skill2Lead/Appium_Demo_App/Android/Android_Appium_Demo.apk')
desired_caps['appPackage'] = 'com.skill2lead.appiumdemo'
desired_caps['appActivity'] = 'com.skill2lead.appiumdemo.MainActivity'

# Step 2 : Create "Driver object"
driver = webdriver.Remote("http://127.0.0.1:4723/wd/hub", desired_caps)

# Step 3 : "Click on the button using ID locator value"
ele_id = driver.find_element(AppiumBy.ID,"com.skill2lead.appiumdemo:id/EnterValue")
ele_id.click()

# Step 4 : Wait for 2 seconds
time.sleep(2)

# Step 5 : Close the driver object
driver.quit()