Codeception-webdriver: как выбрать несколько элементов?

codeception
webdriver
Теги: #<Tag:0x00007fedbc518d38> #<Tag:0x00007fedbc518bf8>

(Maksym Polynskyi) #1

Привет. Если следующий вопрос:
Как в Codeception с webdriver выбрать несколько чекбоксов?
Например есть много чекбоксов с именем identifiers[]. Как мне выбрать чекбокс у которого value = 66666 ? На питоне я выбираю все чекбоксы:

checkboxes = driver.find_elements_by_name('identifiers[]')

потом цикл:

for checkbox in checkboxes:
    if checkbox.get_attribute('value') == 66666 :
        checkbox.click()

Как это сделать на PHP в Codeception?

---- Добавил форматирование кода


(Michael Bodnarchuk) #2

Пользуйтесь CSS или XPath, они позволяют выбрать элемент не только по имени, а и по значению (ровно как и по любому атриюуту).


(Maksym Polynskyi) #3

Подскажите пожалуйста, какой css селектор по value="65524596" будет у такого чекбокса:

<input id="identifiers_3" type="checkbox" name="identifiers[]" value="65524596" style="position: absolute; opacity: 0;">

(Maksym Polynskyi) #4

Да, действительно,

$I->click("input[value='65524591']");
что-то я затупил. Большое спасибо!


(Maksym Polynskyi) #5

Вновь стала необходимость взять все элементы и пройтись по каждому. На сайте есть фильтр по году и нужно посмотреть что в каждом названии машины есть год который я указал в фильтре. Предусмотрена ли возможность выбора многих элементов по одному селектору?


(Maksym Polynskyi) #6

Никто не подскажет?


(Michael Bodnarchuk) #7

Писать свой метод в хэлпер классе, который будет обращаться к методам WebDriver