我正在创建一个机器人,它将生成一个链接到Adidas.com上的任何鞋子,然后检查鞋子的可用尺寸,给出鞋子的型号#和用户的鞋子尺寸
为了获得鞋子的可用尺寸,我使用JSoup进行网页抓取。阿迪达斯为用户提供了一个下拉列表,可以为任何给定的鞋子选择所需的尺寸。当我检查下拉列表时,网页上有很多嵌套元素,但我确定可用大小的实际列表是下面这段代码:
<select class="select___Kst06">
<option value="defaultOption" disabled="" hidden=""></option>
<option value="0">5</option>
<option value="1">6</option>
<option value="2">7</option>
<option value="3">7.5</option>
<option value="4">8</option>
<option value="5">8.5</option>
<option value="6">9</option>
<option value="7">9.5</option>
<option value="8">10</option>
<option value="9">10.5</option>
<option value="10">11</option>
<option value="11">11.5</option>
<option value="12">12</option>
<option value="13">12.5</option>
<option value="14">13</option>
<option value="15">14</option>
</select>
现在,给定此列表,我想检索这些值并在我的代码中返回它们。我有这种方法可以做到这一点:
public static String[] checkSizes(String addr) {
String[] sizesAvailable = null;
try {
Document document = Jsoup.connect(addr).get();
Elements sizes = document.select(".select___Kst06");
sizesAvailable = new String[sizes.size()];
for (int i = 0; i < sizes.size(); i++) {
sizesAvailable[i] = sizes.get(i).text();
}
} catch (IOException e) {
e.printStackTrace();
}
return sizesAvailable;
}
但是,当我运行该方法时,我得到一个空数组[]
返回。我尝试了无数的选择器语法组合,但无济于事。它应该不是很难,但我只是缺少那个明显的查询。在这种情况下,我做错了什么?
我是JSoup的新手,所以请耐心等待。如果有人想自己检查一下,here是指向“测试”的链接。鞋子,如果你愿意的话。网站上的每一双鞋都有相同的模板。感谢您的帮助。