Isselected() return false
#1
Отправлено 24 августа 2012 - 07:08
Столкнулся с такой проблемой:
Isselected() всегда возвращает false, причем если элемент Чекбокса нажат.
Код:
List<WebElement> conris = driver.findElements(By.cssSelector("label.prettyCheckbox:not([for*=Edit])"));
for (int i=0; i < 21; i++ )
{
WebElement conri = conris.get(4);
conri.click();
wait(1);
System.out.println(conri.isSelected());
wait(3);
}
Где-то читал, что надо устанавливать значение в True, но setselected - уже не работает ((
Кто подскажет как быть?
Цель: Осуществить проверку, Если чекбокс нажат, то нажать другой чекбокс.
#2
Отправлено 24 августа 2012 - 07:29
Добрый день, всем.
Столкнулся с такой проблемой:
Isselected() всегда возвращает false, причем если элемент Чекбокса нажат.
Код:
List<WebElement> conris = driver.findElements(By.cssSelector("label.prettyCheckbox:not([for*=Edit])"));
for (int i=0; i < 21; i++ )
{
WebElement conri = conris.get(4);
conri.click();
wait(1);
System.out.println(conri.isSelected());
wait(3);
}
Где-то читал, что надо устанавливать значение в True, но setselected - уже не работает ((
Кто подскажет как быть?
Цель: Осуществить проверку, Если чекбокс нажат, то нажать другой чекбокс.
Если визуально чекбокс выбран, то единственное, что приходит на ум - ссылаетесь на неверный локатор.
Надо смотреть HTML код страницы рядом с этим чекбоксом.
#3
Отправлено 24 августа 2012 - 08:11
<span class="" style=" width:95px;display:inline-block">Абоненты</span>
<input class="hiddenCheckbox" id="roleAbonentsRead" type="checkbox" name="option1">
<label class="prettyCheckbox checkbox list" for="roleAbonentsRead">Чтение</label>
<span class="spacer"></span>
<input class="hiddenCheckbox" id="roleAbonentsWrite" type="checkbox" name="option2">
<label class="prettyCheckbox checkbox list" for="roleAbonentsWrite">Запись</label>
</div>
Вот исходный код.
Там есть скрытый класс (чекбоксов), но у нас форма чекбоксов своя переделанная.
Поэтому я и делал выборку по label.prettyCheckbox:not([for*=Edit]), чтобы были только чекбоксы которые отоброжаются.
#4
Отправлено 24 августа 2012 - 08:28
#5
Отправлено 24 августа 2012 - 08:30
C одним элементом:
driver.findElement(By.xpath("//form[@id='editRoleForm']/div[7]/div[5]/label[2]")).click();
WebElement good = driver.findElement(By.xpath("//form[@id='editRoleForm']/div[7]/div[5]/label[2]"));
System.out.println(good.isSelected());
#6
Отправлено 24 августа 2012 - 08:52
#7
Отправлено 24 августа 2012 - 12:51
Кому надо (Рандом чекер) :))
List<WebElement> conris = driver.findElements(By.cssSelector("label.prettyCheckbox:not([for*=Edit])"));
//Инициировали группу Random
Random random = new Random();
//Цикл, который будет повторяться 21 раз.
//
for (int i=0; i < 21; i++ )
{
int conriIndex = random.nextInt(conris.size());
WebElement conri = conris.get(conriIndex);
//Находим класс, а в нем слово checked
if (conri.getAttribute("class").contains("checked"))
continue;
conri.click();
}
Спасибо, кто помог!
Количество пользователей, читающих эту тему: 1
0 пользователей, 1 гостей, 0 анонимных