使用以下代码时出现错误:
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
中输入文字。
答案 0 :(得分:1)
之所以找不到该元素,是因为您在php .\artisan serve
中使用了//
,就像在xpath中使用它一样。
但是,在使用className
或className
之类的标记查找任何元素时,id
不是必需的。
您可以使用//
来查找元素,例如:
className
由于该元素还存在id,因此您也可以使用id查找该元素,例如:
driver.findElementByClassName("android.widget.EditText").click();