Ich würde vorschlagen, dass anstelle der Prüfung Zufallsgrößen zu sehen, wenn sie verfügbar sind, würden Sie überprüfen alle die Größen zu sehen ob sie verfügbar sind oder nicht.
Von der Website ist die Größe in einem SPAN
Element. Diese Größe ist nicht verfügbar, notieren Sie die disabledSwatch
Klasse für das Element.
<span id="swatch11" class="swatch disabledSwatch" onclick="colorSelected('attribute133','11','','8')">8</span>
^^^^^^^^^^^^^^
Diese Größe ist, die disabledSwatch
Klasse nicht vorhanden ist.
<span id="swatch14" class="swatch" onclick="colorSelected('attribute133','14','','10')">10</span>
Mithilfe dieser Informationen können wir alle Größen ziehen und entfernen, die nicht verfügbar sind. Dadurch erhalten wir zwei Listen, eine mit nur den verfügbaren Größen und eine andere mit den nicht verfügbaren Größen. Diese Elemente enthalten Text, der die Größe angibt.
Mit all diesen Informationen zieht der folgende Code alle Elemente, trennt sie in verfügbare vs nicht verfügbare Elemente und zieht dann die Größeninformationen aus jedem Element und speichert diese in zwei Listen, availableSizes
und unavailableSizes
. Von dort können Sie die Listen drucken oder überprüfen, ob bestimmte Größen verfügbar ist oder nicht, usw.
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());
}
Bitte senden Sie Ihren Code als Text (formatiert als Code) anstelle eines Bildes. – JeffC