テーブルの特定の行で列 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でセレンWebドライバーを使用しています