WebElement statusArr[]=new WebElement[6];
String arr[] = new String[6];
for(int i=0;i<6;i++)
{
int j = i+1;
statusArr[i] = driver.findElement(By.xpath("//*[@id='body']/ui-view/div[1]/div/div["+j+"]/a/table/tbody/tr[1]/td/div/i"));
arr[i] = statusArr[i].getAttribute("title");
}
for(int i=0;i<6;i++)
{
if(arr[i].equals("Not Provided")||arr[i].equals("Incomplete")){
wait.until(ExpectedConditions.visibilityOfNestedElementsLocatedBy(statusArr[i], null));
statusArr[i].click();
driver.navigate().back();
}
}
这里我试图等待元素加载然后单击。但这是不可能的。我怎么能这样做?
答案 0 :(得分:0)
来自visibilityOfNestedElementsLocatedBy
docs
期望将子WebElement检查为父元素的一部分可见
在visibilityOfNestedElementsLocatedBy(statusArr[i], null)
中,您基本上等待null
可见。请尝试使用visibilityOf
wait.until(ExpectedConditions.visibilityOf(statusArr[i]));
顺便说一下,当你点击元素并向后导航时,你将会松开statusArr[]
中的元素,你将不得不在每次迭代时重新定位它们。