java - 线程 "main"org.openqa.selenium.NoSuchElementException : An element could not be located on the page using the given search parameters 中出现异常

标签 java appium

使用以下代码时出现错误:

driver.findElementByClassName("//android.widget.EditText").sendKeys("hello");

完整代码如下:

package aaaaa;

import java.net.MalformedURLException;
import java.util.concurrent.TimeUnit;

import io.appium.java_client.android.AndroidDriver;
import io.appium.java_client.android.AndroidElement;

public class basics extends base {

    public static void main(String[] args) throws MalformedURLException, InterruptedException {

        AndroidDriver<AndroidElement> driver = Capabilities();

        driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS);
        driver.findElementByXPath("//android.widget.TextView[@text='Preference']").click();
        Thread.sleep(2000);
        driver.findElementByXPath("//android.widget.TextView[@text='3. Preference dependencies']").click();
        Thread.sleep(3000);
        driver.findElementByXPath("//android.widget.CheckBox").click();
        Thread.sleep(3000);
        driver.findElementByXPath("//android.widget.TextView[@text='WiFi settings']").click();
        Thread.sleep(3000);
        driver.findElementByClassName("//android.widget.EditText").click();
        Thread.sleep(30000);
        driver.findElementById("//android:id/edit").sendKeys("hi");
        driver.findElementByClassName("//android.widget.EditText").sendKeys("hello");
    }
}

我希望在 EditText 中输入文本。

最佳答案

未找到该元素的原因是您在 className 中使用了 // 它,就像在 xpath 中使用它一样。
但是,在使用 classNameid 等标签查找任何元素时,不需要 //

您可以使用 className 查找元素,例如:

driver.findElementByClassName("android.widget.EditText").click();

由于元素也存在 id,因此您也可以使用 id 查找元素,例如:

 driver.findElementById("android:id/edit").sendKeys("hello");

关于java - 线程 "main"org.openqa.selenium.NoSuchElementException : An element could not be located on the page using the given search parameters 中出现异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55391391/

相关文章:

android - 如何使用 appium 将屏幕截图与引用图像进行比较

java - 如何创造倾城历史

java - 将多个不同类型的参数传递给 doInBackground (Params...params) 方法的最正确方法是什么?

java - 从 GWT 应用程序中执行 RPC 时出现 SerializationPolicy 错误

java - 如何并行而不是顺序执行多个模型?

gitlab - 使用 appium 为移动自动化设置 gitlab cicd?

linux - 无法在Ubuntu上安装appium

javascript - Protractor iOS 自动化 : A Jasmine spec timed out. 重置 WebDriver 控制流

java - Java Collections Framework 实现的 Big-O 摘要?

java - 使用 `Reduce` 的列表中的平方根乘积