我试图通过一个元素在表中找到一行,然后在该行中找到一个元素并返回一个属性(或做其他事情)。
这里的java selenium 代码找到了一个表体。getText() 准确地打印出每一行的行中的文本,但 s.findElement(xpath).getText() 将返回 unique_cell_name 行是否包含它。并且 if 语句将在每个循环中输入。
我如何解决它?为什么 getText() 返回正确的文本但我在同一个 rowElement 中找不到元素?
List<WebElement> listOfRows2 = driver().findElement(By.xpath("//table/tbody")).waitUntilPresent().findElements(By.xpath("./tr"));
for(WebElement rowElement : listOfRows2){
System.out.println("getText: " + rowElement.getText());
String name = rowElement.findElement(By.xpath("//a[contains(text(),'unique_cell_name')]")).getText();
System.out.println("name : " + tooltip);
if(name.equals('unique_cell_name')){
rowElement.findElement(By.xpath("//a[contains(text(),'unique_cell_name_to_row_but_not_table')]")).doSomething();
//also want to check text in a specific column 5, where the same text might exist in the same row in the different column
rowElement.findElement(By.xpath("//td[2]")).doSomething();
break;
}
}
我在 java 中使用 selenium 2.53 和 serenity/cucumber。