dtmilano / AndroidViewClient

Android ViewServer and ADB client
Apache License 2.0
1.61k stars 344 forks source link

Click on a view without text or resource-id ? #326

Open sooraj-sizon-pj opened 2 months ago

sooraj-sizon-pj commented 2 months ago

<node NAF="true" index="0" text="" resource-id="" class="android.widget.EditText" package="com.example.status" content-desc="" checkable="false" checked="false" clickable="true" enabled="true" focusable="true" focused="false" scrollable="false" long-clickable="false" password="false" selected="false" bounds="[187,794][893,902]" /></node>

This is an EditText , I would like to enter a value into this edittext would it be possible to do this without resource-id or text ?

dtmilano commented 2 months ago

Do you have the bounds?

bounds="[187,794][893,902]"
sooraj-sizon-pj commented 2 months ago

Do you have the bounds?

bounds="[187,794][893,902]"

Right , can you please share an example usage using bounds ?

dtmilano commented 2 months ago

If you know the bounds, you can enter text by touching the view to get focus and type

#! /usr/bin/env python3

from com.dtmilano.android.viewclient import ViewClient

device, serialno = ViewClient.connectToDeviceOrExit()

bounds = ((137, 743), (933, 897))  # you know the bounds
(l, t), (r, b) = bounds
x = l + (r - l) / 2
y = t + (b - t) / 2
device.touch(x, y)
device.type("Hello World!")