Appium:"使用给定的搜索参数无法在页面上找到元素"错误

Aby*_*Aby 10 selenium android appium

我是Appium的新手,并一直在尝试自动化Android转换计算器应用.我在尝试查找EditText元素时收到错误"org.openqa.selenium.NoSuchElementException:使用给定的搜索参数无法在页面上找到元素".使用Appium v​​er 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");
Run Code Online (Sandbox Code Playgroud)

即使是ID的findElement也无效.请让我知道我在这里做错了什么,或者我是否需要提供更多细节.

sts*_*tis 5

我会用 driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS);代替Thread.sleep(5000)

尝试使用更新版本的Appium,我得到了很多改进。您可以在此处下载最新版本的Appium和Appium客户端:http ://appium.io/downloads.html

但是要小心,因为在较新的版本中,如果搜索结果多于一个,则findElement会引发Exception。


我会在评论中写这个,但是我的信誉不够高:/


Rus*_*ard 1

也许您可以尝试等待元素可见或使用 WebDriverWait 对象启用?