如何在线性布局中找到具有特定索引的元素,如在图像中获得此元素android.widget.EditText,其中包含索引3.当我尝试使用搜索参数找到它时:
driver.FindElement(By.XPath("//android.widget.EditText[@index='3']")).SendKeys("123");
我也试过这个
driver.FindElementByXPath("//*[@class='android.widget.EditText' and @index='3']").SendKeys("123");
我得到了这个例外
{"An element could not be located on the page using the given search parameters."}
如何选择此元素?
答案 0 :(得分:1)
由于涉及索引,我建议你将元素标识符放在一个列表中,然后获取索引并单击。请尝试以下代码
List<WebElement> list= driver.findElements(By.XPath("identifier"));
System.out.println("size of List= " + list.size());
list.get(3).click();
答案 1 :(得分:0)
你所拥有的是driver.FindElement(By.XPath("//android.widget.EditText[@index='3']")).SendKeys("123");
,它是按属性搜索xpath的语法,其中@attribute是属性。但是,对于索引来说,它更简单。只需driver.FindElement(By.XPath("//android.widget.EditText[3]")).SendKeys("123");