我正在尝试使用Appium C#输入本机应用程序的用户名和密码。页面上的元素尚未设置唯一ID,因此仅具有类名。
_driver.FindElement(MobileBy.XPath("//android.widget.EditText[@index='0' and @password='false']")).SendKeys("username");
_driver.FindElement(MobileBy.XPath("//android.widget.EditText[@index='0' and @password='true']")).SendKeys("password");
这将在正确的字段中输入用户名,但随后将删除用户名,并在同一字段中输入用户名+密码
当我将索引更改为[1]和[2]时,找到了用户名,但密码出现NoSuchElementException错误
答案 0 :(得分:0)
您可以使用下面的代码
driver.findElementByXPath(“(// android.widget.RelativeLayout)[2]”)。click();
如果无法使用
driver.findElementsByClassName(“ android.widget.Button”)。get(1).click();
或
您还可以将文本框添加到列表中,然后开始一个接一个地访问它,下面是代码
列出a = driver.findElementsByClassName(“ android.widget.EditText”);
a.get(0).sendKeys(“ vijay12358”);
a.get(1).sendKeys(“ 9035253309”);
答案 1 :(得分:0)
我设法弄清为什么找不到元素。我不知道,如果键盘打开并且覆盖了您要查找的字段,那么它将无法找到该元素。
在每个发送键操作之后使用_driver.HideKeyboard();
可以正常工作。