如何从Laravel Dusk的下拉列表中选择随机值?

时间:2019-03-25 03:28:56

标签: php laravel-5 laravel-dusk

我是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 个答案:

答案 0 :(得分:2)

使用此:

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();
}

答案 1 :(得分:0)

使用此方法解决您的错误

  

$ browser-> select('select-box-name');