我正在尝试访问一个容器,里面有多个带有id的元素,但我似乎无法让它像我为android那样工作。
这是我到目前为止所做的:
try {
WebDriverWait wait = new WebDriverWait(driver, 3);
wait.until(ExpectedConditions.visibilityOfElementLocated(
By.xpath("//UIACollectionCell[UIAStaticText[contains(@name, 'section')] and UIAStaticText[contains(@name, 'title')]]")
));
System.out.println("xpath w/ ids found");
} catch (Exception e){
System.out.println("xpath w/ ids not found");
}
但是,如果我只有一个文本,它的工作正常
try {
WebDriverWait wait = new WebDriverWait(driver, 3);
wait.until(ExpectedConditions.visibilityOfElementLocated(
By.xpath("//UIACollectionCell/UIAStaticText[contains(@name, 'section')]")
));
System.out.println("xpath w/ ids found");
} catch (Exception e){
System.out.println("xpath w/ ids not found");
}
似乎在我的容器上使用[]因为某些原因而无法理解......
有什么想法吗?
谢谢!
答案 0 :(得分:0)
试试这样:
By.xpath("//UIACollectionCell[UIAStaticText[contains(@name, 'section') and contains(@name, 'title')]]");
希望这会有所帮助,让我知道会发生什么。
答案 1 :(得分:0)
它无效,因为您要求驱动程序等待单个元素。如果您想等待几个,那么您必须使用ExpectedConditions.visibilityOfAllElementsLocatedBy(By)
函数。