【发布时间】:2013-10-04 20:50:43
【问题描述】:
有没有办法使用jsoup检查一个表是否有某一行?
我收到java.lang.IndexOutOfBoundsException: Invalid location 1, size is 1 异常,我从表格中获取信息的代码是:
docTide = Jsoup.connect("http://www.mhpa.co.uk/search-tide-times/").timeout(600000).get();
Elements tideTimeOdd = docTide.select("div.tide_row.odd div:eq(0)");
Elements tideTimeEven = docTide.select("div.tide_row.even div:eq(0)");
Elements tideHightOdd = docTide.select("div.tide_row.odd div:eq(2)");
Elements tideHightEven = docTide.select("div.tide_row.even div:eq(2)");
Element firstTideTime = tideTimeOdd.first();
Element secondTideTime = tideTimeEven.first();
Element thirdTideTime = tideTimeOdd.get(1);
Element fourthTideTime = tideTimeEven.get(1);
发生异常是因为有时该表只有 3 行而不是 4 行,按此顺序; 奇怪的 甚至 奇怪的 甚至
这是导致问题的最后一个“偶数”行。
<div class="tide_row odd">
<div class="time">00:57</div>
<div class="height_m">4.9</div>
<div class="height_f">16,1</div>
<div class="range_m">1.9</div>
<div class="range_f">6,3</div>
</div>
<div class="tide_row even">
<div class="time">07:23</div>
<div class="height_m">2.9</div>
<div class="height_f">9,6</div>
<div class="range_m">2</div>
<div class="range_f">6,7</div>
</div>
<div class="tide_row odd">
<div class="time">13:46</div>
<div class="height_m">5.1</div>
<div class="height_f">16,9</div>
<div class="range_m">2.2</div>
<div class="range_f">7,3</div>
</div>
<div class="tide_row even">
<div class="time">20:23</div>
<div class="height_m">2.8</div>
<div class="height_f">9,2</div>
<div class="range_m">2.3</div>
<div class="range_f">7,7</div>
</div>
【问题讨论】:
-
定义“某一行”。如果您发布了一个您尝试解析的 HTML 示例,这可能会有所帮助。
-
某行是指表中的最后一行,即“偶数”行。将发布样本
标签: java android jsoup indexoutofboundsexception