Очистка только одной вкладки пользовательского интерфейса с помощью JSoup - PullRequest
0 голосов
/ 22 октября 2019

Я очищаю эту страницу прямо сейчас: http://www.osaa.org/teams/28827

Проблема, с которой я сталкиваюсь, заключается в том, что когда я пытаюсь получить содержимое из таблицы "Varsity Schedule", она продолжается и очищает "«Расписание СП» и «Расписание JV2».

Как мне сделать так, чтобы я мог получить только это первое расписание или только это второе расписание и т. Д.

Я пробовал несколько вещейНапример, при проверке дат, если они следуют друг за другом, а также при поиске других обходных путей, но я обнаружил, что эти методы не работают.

Я подумал, что мне нужно получить его, чтобы получить только одну таблицу, а неОбходной путь, но я не могу понять, как.

            Document doc = Jsoup.connect("http://www.osaa.org/teams/28827").userAgent("mozilla/17.0").get();

            for (Element row:doc.select("table.schedule tr"))
            {

                if(row.select("td:nth-of-type(1)").text().equals(""))
                {
                    continue;
                }
                else
                {
                    //Getting the first section and getting the Result of the game.
                    String gameResult = row.select("td:nth-of-type(1)").text();
                    if(gameResult.contains("W") || gameResult.contains("L") || gameResult.contains("T"))
                    {
                        result.add(gameResult);
                    }

Фактический результат, который мне нужен, заключается в том, что он не получает остальные таблицы, поэтому только лучший.

Спасибозаранее, что нашли время, чтобы помочь мне! :)

1 Ответ

0 голосов
/ 22 октября 2019

Общий селектор всех таблиц - div#sub-tabs-schedule, так что вы можете использовать следующий код для перебора трех таблиц:

Document doc = Jsoup.connect("http://www.osaa.org/teams/28827").userAgent("mozilla/17.0").get();
Elements tables = doc.select("div#sub-tabs-schedule");  //Fetch all the tables
for (Element table : tables) {
    //This just prints the table's text, do your stuff instead
    System.out.println(table.text());
    System.out.println("------------------------------");
}

Если вам нужна только конкретная таблица, селекторы -

# tabs-V> div: nth-child (1)> div: nth-child (2)
# tabs-JV> div: nth-child (1)> div: nth-child (2)
# tabs-JV2> div: nth-child (1)> div: nth-child (2)

...