1

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

4

1 に答える 1

1

Stringオブジェクトを比較するには、 ではなくequalsまたはcompareToメソッドを使用する必要があります====オブジェクト参照を比較しています。

于 2012-11-02T13:54:41.067 に答える