仅当第 1 列和第 7 列的值在表的特定行中匹配时,我才需要选择列值。行数是动态的,有 8 列。
这是我的代码:
WebElement session_table = driver.findElement(By.id("sessions_table"));
List<WebElement> session_row = driver.findElements(By.tagName("tr"));
System.out.println(session_row.get(2).findElement(By.xpath("//td[2]")).getText());
Iterator<WebElement> i= session_row.iterator();
while(i.hasNext())
{
WebElement srow= i.next();
List<WebElement> session_data = srow.findElements(By.xpath("//td"));
stime = session_data.get(0).getText();
coach_name = session_data.get(6).getText();
System.out.println( stime + " " + coach_name);
if((stime == "11/02/12 07:30 AM") && (coach_name == "Test Coach1") )
{
driver.findElement(By.xpath("(//a[contains(text(),'0/4')])")).click();
}
}
但是变量 stime 和 coach_name 被分配了第一行的值。它不会随着迭代而改变。例如,如果第一行的值为“07:00 AM”且教练名称为 Test,并且有 80 行,则它会打印“07:00 AM Test”80 次。但我需要读取每一行的值。注意:我在 java 中使用 selenium webdriver