Appium Cannot select element on Webview

Hi.

Im new to Appium. I am trying to select the Web App via chrome on amazon and select elements on the page.

However i am not sure am i selecting the Wep APP correctly. When i proceed to select an element that i have identified on UI automater viewer. it reports:

no such element

Can you please advice?

Below is the code i am using:

final DesiredCapabilities capabilities = new DesiredCapabilities();
capabilities.setCapability(“device”, “Android”);
capabilities.setCapability(MobileCapabilityType.PLATFORM_NAME, “Android”);
capabilities.setCapability(“deviceName”, “Samsung”);
capabilities.setCapability(CapabilityType.BROWSER_NAME, “”);
capabilities.setCapability(CapabilityType.VERSION, “4.2.2”);
capabilities.setCapability(CapabilityType.PLATFORM, “ANDROID”);
capabilities.setCapability(CapabilityType.BROWSER_NAME, “Chrome”);
capabilities.setCapability(“newCommandTimeout”, “180”);

driver = new AndroidDriver(new URL("http://127.0.0.1:4723/wd/hub"), capabilities);

log("launch amazon.co.uk");
driver.get("http://amazon.co.uk");

Set <String> contextNames =((AppiumDriver) driver).getContextHandles();
for(String contextname: contextNames){
	System.out.println(contextname);
}

log("Setting Webview Driver");

driver.switchTo().window("WEBVIEW_1");
log("Context set to ====>WEBVIEW_1 ");

Console

++++++++++++++++++++
launch amazon.co.uk
NATIVE_APP
WEBVIEW_1
Setting Webview Driver
++++++++++++++++++++

Appium

info: Available contexts: NATIVE_APP,WEBVIEW_1
info: [debug] Responding to client with success: {“status”:0,“value”:[“NATIVE_APP”,“WEBVIEW_1”],“sessionId”:“21b068dcb671b800d4ee76ffe9c470ab”}
info: ← GET /wd/hub/session/21b068dcb671b800d4ee76ffe9c470ab/contexts 200 2.798 ms - 94 {“status”:0,“value”:[“NATIVE_APP”,“WEBVIEW_1”],“sessionId”:“21b068dcb671b800d4ee76ffe9c470ab”}
info: → POST /wd/hub/session/21b068dcb671b800d4ee76ffe9c470ab/window {“name”:“WEBVIEW_1”}
info: JSONWP Proxy: Proxying [POST /wd/hub/session/21b068dcb671b800d4ee76ffe9c470ab/window] to [POST http://127.0.0.1:9515/wd/hub/session/21b068dcb671b800d4ee76ffe9c470ab/window] with body: {“name”:“WEBVIEW_1”}
info: JSONWP Proxy: Got response with status 200: {“sessionId”:“21b068dcb671b800d4ee76ffe9c470ab”,“status”:23,“value”:{“message”:"no such window\n (Session info: chrome=45.0.2454.94)\n (Driver info: chromedriver=2.18.343845 (73dd713ba7fbfb73cbb514e…
info: JSONWP Proxy: Replacing sessionId 21b068dcb671b800d4ee76ffe9c470ab with 21b068dcb671b800d4ee76ffe9c470ab
info: ← POST /wd/hub/session/21b068dcb671b800d4ee76ffe9c470ab/window 200 424.176 ms - 257
info: → DELETE /wd/hub/session/21b068dcb671b800d4ee76ffe9c470ab {}
info: Shutting down appium session
info: Chromedriver: Changed state to 'stopping

try–> driver.context(“WEBVIEW_1”); or ((AppiumDriver)driver).context(“WEBVIEW_1”); in oder to switch to webview.
Hope it resolves your problem :smile: