【发布时间】:2023-03-04 21:06:01
【问题描述】:
从表中每一行收集 td[3] 值,下面是我的 java 源代码
WebElement biboSection = driver.findElement(By.xpath("//*@id='Label1']/div/table[2]/tbody"));
List<WebElement>rowsCount = biboSection.findElements(By.tagName("tr"));
for (int k =1;k<=rowsCount.size();k++){
String biblioTable = driver.findElement(By.xpath("//*@id='Label1']/div/table[2]/tbody/tr["+k+"]/td[3]")).getText().trim();
}
问题是如果td[3] 行标签中的任何一个不可用,那么它就会失败,出现以下错误
org.openqa.selenium.NoSuchElementException: no such element: Unable to locate element: {"method":"xpath","selector":"//*[@id='Label1']/div/table[2]/tbody/tr[5]/td[3]"}
一般来说-单个元素我们可以使用显式等待来避免上述异常,但是在表中,如果特定选项卡不可用,我如何继续其余行(即如果tr[5]/td[3] 不可用,则移至下一组@ 987654325@)
【问题讨论】:
标签: java html selenium xpath selenium-webdriver