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 中使用 selenium webdriver

4

1 回答 1

1

为了比较String对象,您需要使用equalsorcompareTo方法,而不是==. 与==您比较对象引用。

于 2012-11-02T13:54:41.067 回答