我建议您不要检查随机尺寸以查看它们是否可用,而是检查所有尺寸以查看它们是否可用。
在网站上,大小位于 SPAN 元素中。此尺寸不可用,请注意元素上的 disabledSwatch 类。
<span id="swatch11" class="swatch disabledSwatch" onclick="colorSelected('attribute133','11','','8')">8</span>
^^^^^^^^^^^^^^
此尺寸可用,disabledSwatch 类不存在。
<span id="swatch14" class="swatch" onclick="colorSelected('attribute133','14','','10')">10</span>
使用此信息,我们可以提取所有尺寸并删除不可用的尺寸。这将为我们提供两个列表,一个仅包含可用尺寸,另一个列表包含不可用尺寸。这些元素包含指示大小的文本。
使用所有这些信息,下面的代码提取所有元素,将它们分成可用元素和不可用元素,然后从每个元素中提取大小信息并将其存储在两个列表中,availableSizes 和 unavailableSizes。从那里您可以打印列表或验证某些尺寸是否可用等。
List<WebElement> unavailableElements = driver.findElements(By.cssSelector("div.swatchesContainer span.swatch.disabledSwatch"));
List<WebElement> availableElements = driver.findElements(By.cssSelector("div.swatchesContainer span.swatch"));
availableElements.removeAll(unavailableElements);
List<String> unavailableSizes = new ArrayList<String>();
List<String> availableSizes = new ArrayList<String>();
for (WebElement e : unavailableElements)
{
unavailableSizes.add(e.getText());
}
for (WebElement e : availableElements)
{
availableSizes.add(e.getText());
}