Как выбрать случайные значения из массива выпадающих в Laravel Dusk? - PullRequest
0 голосов
/ 25 марта 2019

Я новичок в Laravel Dusk, и в настоящее время работаю над простым проектом, в который можно добавить несколько выпадающих списков. У раскрывающихся списков есть имя, например name = "item[]". Как выбрать каждый выпадающий список и выбрать случайные варианты?

Я пробовал:

$items = $browser->elements('input[name^="item[]"');

foreach ($items as $item) {
    $item->select(); // Select random options
}

но это не работает. Там нет ошибки, тест и утверждения в порядке, но он не выбирает значения из выпадающих.

Редактировать

Только что попробовал:

$items = $browser->elements('select[name^="item[]"'); // Change input to select

foreach ($items as $item) {
    $item->select(); // Select random options
}

теперь выдает ошибку "вызов неопределенного метода select()".

Ответы [ 2 ]

2 голосов
/ 25 марта 2019

Используйте это:

use Facebook\WebDriver\WebDriverBy;

$items = $browser->elements('select[name^="item[]"]');

foreach ($items as $item) {
    $options = $item->findElements(WebDriverBy::cssSelector('option:not([disabled])'));

    $options[array_rand($options)]->click();
}
0 голосов
/ 25 марта 2019

используйте этот метод, чтобы решить вашу ошибку

$ browser-> выберите ( 'выберите коробками-имя');

...