因此,我从Website中获取信息,并且运行速度非常慢。 List<WebElement> listofprogramrequirements = row.findElements(By.className("course-selection-title"));我假设我需要一个对象并从行中提取信息。 Tr->课程选择->课程编号。

    WebElement tableelement =
    wait.until(ExpectedConditions.visibilityOfElementLocated(By.tagName("table")));
    List<WebElement> trs = tableelement.findElements(By.tagName("tr"));
    for (WebElement row : trs)
    {
        List<WebElement> listofprogramrequirements = row.findElements(By.className("course-selection-
        title"));
        for (WebElement col : listofprogramrequirements)
        {
            System.out.println(col.getText());
            List<WebElement> coursenumbers = row.findElements(By.className("course-number"));
            if(coursenumbers.size()>0)
            {
                Iterator<WebElement> iter = coursenumbers.iterator();
                // This will check whether list has some element or not
                while (iter.hasNext()) {
                    WebElement item = iter.next();
                    String label = item.getText();
                    System.out.println(label);
                }
            }
            else
            {
            }
        }
    }

  **Produces:**
  All of
  CPSC 1050
  CPSC 1150
  CPSC 1160
  CPSC 1181
  CPSC 2150
  MATH 2362
  Two of
  One of
  MATH 1171

最佳答案

您可以通过直接定位course-selection-title来简单地编写代码,并使用它来找到其下的课程

List<WebElement> listofprogramrequirements = driver.findElements(By.className("course-selection-title"));
for (WebElement col: listofprogramrequirements) {
    System.out.println(col.getText());
    List<WebElement> coursenumbers = col.findElements(By.xpath(".//..//td[@class='course-number']"));
}

08-18 09:37
查看更多