求助:Appium 元素定位的问题
我用UI Automater进行元素定位(见下图)。我怎么定位到”您的手机号码“,”填写密码“和”登录“呢?请高手指点。感觉你这页面是webview吧,appium对webview支持不好哦。。。4.4版本以下是支持不了的 选中输入框然后在node detail里检查看看是不是有id,text,class等的值区别于其他元素的,一般会有text或者class属性值不一样的,当然有id的就更好了,detail里的属性都可以拿出来用
这个是我用的appium。
joykao 发表于 2015-12-31 09:53
选中输入框然后在node detail里检查看看是不是有id,text,class等的值区别于其他元素的,一般会有text或者 ...
选不了。
都是FrameLayout seagull1985 发表于 2015-12-31 09:51
感觉你这页面是webview吧,appium对webview支持不好哦。。。4.4版本以下是支持不了的
请问一下,你说4.4版本说的是什么的版本。 lotus002673 发表于 2015-12-31 11:10
请问一下,你说4.4版本说的是什么的版本。
安卓 请问,你的问题解决了吗,我也遇到同样的问题了 seagull1985 发表于 2015-12-31 09:51
感觉你这页面是webview吧,appium对webview支持不好哦。。。4.4版本以下是支持不了的
我的测试手机是Android5.0.2的,应该能支持。可以详细说说怎么获取webview里的元素吗?跪求大神指点。 seagull1985 发表于 2015-12-31 09:51
感觉你这页面是webview吧,appium对webview支持不好哦。。。4.4版本以下是支持不了的
appium怎么获取h5页面的元素啊?跪求大神指点。 你先用appium切换到webview,然后获取页面源码打印,看web源码你就知道怎么识别了 我也遇到了这样的问题,我是这样解决的:
我的手机是Android4.3,我使用手机chrome浏览器打开百度首页,获取输入框,在输入框中输入123,点击百度一下;
1.看下图,可以看到editText上有一个webview,所以浏览器打开网页也是有webview,首先获取webview,webview的name可以用一下方法查看;
public WebDriver webView(String contextName) {
Set contextNames = ((AppiumDriver)driver).getContextHandles();
for (Object context : contextNames) {
if (context.toString().contains(contextName)) {
System.out.println(context);
return (AppiumDriver) driver).context(contextName);
}
}
return null;
}
2.先切换到webview,我的webview name是:WEBVIEW_1
driver.webView("WEBVIEW_1").findElement(By.id("index-kw")).sendKeys("123");
driver.webView("WEBVIEW_1").findElement(By.id("index-bn")).click();
3.输入框和按钮的定位可以用chrome浏览器,http://m.baidu.com 按F12,很容易定位。比UI Automator好用很多。 点击右侧的Xpath路径没法定位到?
页:
[1]