我是Appium的新手,一直在尝试将Android的转换计算器应用程序自动化。试图查找EditText元素时,我收到错误“org.openqa.selenium.NoSuchElementException:使用给定的搜索参数无法在页面上找到元素”。使用Appium 1.0.0版和Android 4.3
以下是我的代码:
List<WebElement> textViews = driver.findElements(By.className("android.widget.TextView"));
for (i=0; i<textViews.size(); i++) {
if(textViews.get(i).getText().toLowerCase().contains("memory")) {
textViews.get(i).click();
}
}
Thread.sleep(5000);
WebElement editText = driver.findElement(By.className("android.widget.EditText"));
editText.sendKeys("123");
甚至按ID查找也不起作用。请让我知道我在这里做错了什么,或者如果我需要提供更多细节。
也许您可以尝试使用WebDriverWait对象等待元素可见或启用?
可能原因:
请尝试以下操作:
解决方案1:
List<WebElement> editText = driver.findElements(By.className("android.widget.EditText"));
editText.get(0).sendKeys("123");
0-EditText的索引
解决方案2:
使用任何其他定位策略,如Xpath。
我会使用驱动程序。管理()。超时()。隐式等待(10,时间单位秒) 而不是线程。睡眠(5000)。
尝试使用更新版本的Appium,我已经得到了很大的改进。您可以在此处下载最新版本的Appium和Appium客户端:http://appium.io/downloads.html
但要小心,因为在较新版本中,如果搜索结果不止一个,findElement会引发异常。
我会在评论中写下这句话,但我没有足够的声誉:/
即使按ID查找也不起作用。请让我知道我在这里做错了什么或者如果我需要提供更多的细节。
我正在使用的代码: 我得到的错误:
正在尝试在移动应用程序中定位元素。 '公共类Ovex{私有静态Android驱动程序; 这里是路径从UI AUtomator点击链接查看Xpath从UIAutomator 在这一行,调试器显示一个错误,并显示这些错误消息:
我正在尝试使用UISelector找到一个位于可见屏幕空间(又名viewport)之外的TextView小部件: 当我尝试与这样的元素交互时,结果是以下消息: 逻辑结论将是元素不存在或者我的定位器策略是错误的。但问题是,当我更改文本以查找可视空间/视口内的元素时,定位器工作得完美无缺。示例: 这是UiSelector和textContains()的工作方式吗?这是另一种解决方案吗? 多谢。
我试图通过使用xpath找到元素,但他们无法定位。当我使用selenium获取页面源时,他们有元素,我也检查过,但元素不在Iframe中。 这是我的代码: 希望能找到解决办法谢谢
我有一个粘性导航栏,它有几个列表元素,每个元素都包含href元素。当我试图定位元素时,我得到了错误。以下是我的HTML代码: 我想通过Webdriver定位Academic,我遇到这样的错误无法定位元素。