Can't find an element on a web-view page of an iOS native app

I have a native app which opens few web-view pages. I’m running appium on the app to do some automation test on a web-view page that I need to scroll down to find the username and password fields. I tried all the suggestion I can find online, and it doesn’t work. Can anyone help?
I’m running:
Appium v1.3.5
iOS 8.1

Here is my code:

// switch to webview

Thread.sleep(6000);
final Set<String> contextNames = driver.getContextHandles();
for (final String contextName : contextNames) {
  System.out.println(contextName);
  if (contextName.contains("WEBVIEW")) {
    driver.context(contextName);
  }
}

Thread.sleep(6000);
WebElement x = driver.findElement(By.cssSelector("Username *"));
assertTrue(x.isDisplayed());

Here is the element I try to scroll to and enter username

     <AppiumAUT>
       <UIAApplication name="Demo A" label="Demo A" value="" dom="" enabled="true" valid="true" visible="true" hint="" path="/0" x="0" y="24.125" width="375" height="642.1875">    
        <UIAWindow name="" label="" value="" dom="" enabled="true" valid="true" visible="true" hint="" path="/0/2" x="0" y="0.6875" width="375" height="665.625">
        <UIAScrollView name="" label="" value="" dom="" enabled="true" valid="true" visible="true" hint="" path="/0/2/1" x="29.296875" y="40.53125" width="316.40625" height="548.4375">
            <UIAWebView name="" label="" value="" dom="" enabled="true" valid="true" visible="false" hint="" path="/0/2/1/0" x="29.296875" y="40.53125" width="684.375" height="1170.703125">
                <UIAStaticText name="Username *" label="Username *" value="" dom="[object Object]" enabled="true" valid="true" visible="false" hint="" path="/0/2/1/0/15" x="94.921875" y="783.5" width="92.578125" height="22.265625">
                </UIAStaticText>
                <UIATextField name="" label="" value="" dom="[object Object]" enabled="true" valid="true" visible="false" hint="" path="/0/2/1/0/16" x="94.921875" y="811.625" width="604.6875" height="46.875">
                </UIATextField>

Here is the error message:

org.openqa.selenium.InvalidElementStateException: SyntaxError: DOM Exception   12 (WARNING: The server did not provide any stacktrace information)Command duration or timeout: 22 milliseconds

I have tried the following and doesn’t work:

  1. switch to the window first using driver.switchTo().window(“WEBVIEW_1”);
  2. use driver.findElement(By.id(“Username *”))
  3. use driver.findElement(By
    .xpath("//input[@name=‘Username *’]"));
  4. use driver.findElement(By .xpath("//UIAApplication[1]/UIAWindow[3]/UIAScrollView[1]/UIAWebView[1]/UIAStaticText[14]"));

I also tried to scroll to it first:

  1. use just scollto: driver.scrollTo(“Username *”);
  2. ((JavascriptExecutor) driver).executeScript(
    • “arguments[0].scrollIntoView(true);”, driver.findElement(By.name(“Username *”)));

Error message are either NoSuchElement or the one above.

Please help! Thanks!

were you able to solve your prob. I am also facing this issue in iOS native app

Hi,

Makesure wether ios_webkit_debug_proxy is started

ios_webkit_debug_proxy -c :9227 -d