首页 > 解决方案 > 无法将文本发送到文本框元素

问题描述

我正在尝试将一些文本发送到 Android 应用程序中的搜索文本框,但它一直返回 NoSuchElement 异常。

以下是从 Appium 的元素定位器中获取的元素的属性。

在此处输入图像描述

以下是将文本发送到搜索框的代码。

driver_App.findElement(By.xpath("//android.widget.EditText[@content-desc='Search']")).sendKeys("ABC");

我已经通过 id 尝试过

driver_App.findElement(By.id("header-search")).sendKeys("ABC");

按类名

driver_App.findElement(By.className("android.widget.EditText")).sendKeys("ABC");

在一定程度上,以下内容:

new WebDriverWait(driver_App, 30).until(ExpectedConditions.presenceOfElementLocated(By.xpath("//*[@id='header-search']")));
driver_App.findElement(By.xpath("//*[@id='header-search']")).sendKeys("ABC");

以上都不能将字符串“ABC”发送到文本框元素,并返回 NoSuchElement 异常。

希望对我可能做错的事情和可能的解决方案有建议。

注意:为元素搜索添加了以下完整树结构的屏幕截图。

在此处输入图像描述

标签: javaandroidseleniumappium

解决方案


将字符串发送到移动设备中的文本字段的方法很少。

一些android文本需要先点击。

new WebDriverWait(driver_App, 30).until(ExpectedConditions.presenceOfElementLocated(By.id("header-search")));
driver_App.findElement (By.id("header-search")).click();
driver_App.findElement (By.id("header-search")).sendKeys ("ABC");

推荐阅读