У меня есть метод:Селен Checkbox Срабатывание Случай
public void clickCheckBox(int index) {
List<WebElement> sizeList = getSizeList();
WebElement checkbox = sizeList.get(index);
Actions action = new Actions(driver);
action.moveToElement(checkbox).click().build().perform();
}
Этот метод принимает индекс списка флажков, а затем с помощью класса действия, чтобы установить флажок. Я делаю это так, потому что страница, с которой я в настоящее время работаю, запускает событие, когда этот флажок установлен, поэтому просто установите флажок и нажмите «Не работает» (событие не срабатывает).
Мой выше код не проверяет флажок, и я не уверен, почему. Любое понимание было бы здорово. Пожалуйста, дайте мне знать, если я не предоставил достаточную информацию.
EDIT:
Вот мой метод получения размера списка:
public List<WebElement> getSizeList(){
List<WebElement> sizeList = body.findElement(By.cssSelector("ul")).findElements(By.cssSelector("li"));
if(null==sizeList) {
// oops, couldn't find the element
LOGGER.error("Failed to locate the 'li' element for the action button");
return Collections.emptyList();
}
return sizeList;
}
Вот немного о HTML:
<ul>
<li>
<input type="checkbox">
<a href="www.url.com" title="8">8</a>
<span class="count">(1,037)</span>
</li>
<li>
<input type="checkbox">
<a href="www.url.com" title="10">10</a>
<span class="count">(1,047)</span>
</li> ...
Добавление HTML-кода для контрольного списка, а код, который получает контрольный список, поможет нам вам помочь. Одна вещь, которую вы можете попробовать, это распечатать размер списка, чтобы убедиться, что он больше 0. – Richard
Отредактировал мой вопрос с этими запросами @Richard – cakes88