Selenium WebDriver выдает InvalidSelectorException при попытке щелкнуть по следующему братскому элементу с помощью CSS Селектор.
Считайте, что мой DOM выглядит следующим образом:
<div class="checkbox-group">
<div>
<span class="checkbox">::after</span> <!--click on this span makes the checkbox checked-->
<span class="checkbox-name">Male</span> <!--click on this span doesn't make the checkbox checked-->
</div>
<div>
<span class="checkbox">::after</span>
<span class="checkbox-name">Female</span>
</div>
</div>
И мой код Java :
@FindAll(@FindBy(css=".checkbox-name"))
List<WebElement> checkboxes;
public void selectCheckbox(String value){
for(WebElement checkbox : checkboxes){
String text = checkbox.getText();
if(text.equalsIgnoreCase(value)){
WebElement control = checkbox.findElement(By.cssSelector("+.checkbox"));//Exception thrown here
control.click();
}
}
}
Исключение выдается как:
org.openqa.selenium.InvalidSelectorException: invalid selector: An invalid or illegal selector was specified.
** Element info: {Using=css selector, value=+.checkbox}