t.me/atinfo_chat Telegram группа по автоматизации тестирования

Посмотреть содержимое webelement


(Artem) #1

Добрый день,

Подскажите, как осуществить следующие:

Нахожу элемент  и хочу вызвать его (это чекбокс)

WebElement conri = conris.get(conriIndex);

Но потом надо сделать, проверку если он уже нажат то => следующий цикл, если нет надо нажать.

Чекбокс считается нажатам когда у в label classe появляется доп.строка checked.

Какой мне определить нажат ли чекбокс, если нет то нажать.

Спасибо.


(Artem) #2

"нажатым"


(Сергей Блохин) #3

Не проще его в любом случае нажать?


(Alexander Petrovich) #4

На пайтоне, чтобы чекбокс был нажат, написал такой метод



def select_checkbox(driver, xpath, deselect=False):
        checkbox = driver.find_element_by_xpath(xpath)
        if not deselect and not checkbox.is_selected():
            checkbox.click()
        if deselect and checkbox.is_selected():
            checkbox.click()
 
Если его наоборот нужно анчекнуть, то вот так
 
def deselect_checkbox(driver, xpath, deselect=True):
        checkbox = driver.find_element_by_xpath(xpath)
        if not deselect and not checkbox.is_selected():
            checkbox.click()
        if deselect and checkbox.is_selected():
            checkbox.click()

 


(Artem) #5

List<WebElement> conris = driver.findElements(By.cssSelector("label.prettyCheckbox:not([for*=Edit])"));
        Random random = new Random();
        for (int i=0; i < 21; i++ )
        {
            int conriIndex = random.nextInt(conris.size());
            WebElement conri = conris.get(conriIndex);
            wait(3);
            conri.isSelected();
            wait(4);
            if(!(conri.isSelected())) {
                conri.click();
            }

 

Вот код, где рандомно ставятся чекбоксы.

Надо сделать проверку: Если чекбокс уже нажат, то необходимо нажать другой...

Чего-то не получается :(


(Artem) #6

   wait(3);
   conri.isSelected();
   wait(4);

 

Это было лишнее..


(Alexander Petrovich) #7

Чем плох предложенный мною метод? Работает точно, просто реализуйте для java


(Artem) #8

Да я уже понял  что надо реализовать твой метод, но не полчается бля ((  Туплю