Как исправить сумерки $browser->select() со строковым значением

У меня есть фильтр, и один из вариантов — выбрать тип устройства. Существует список возможных вариантов, и вы можете использовать только один из вариантов (поэтому нет обычного текста)

Поле фильтра называется type_id, и к нему можно получить доступ с помощью

$browser->select('type_id') 

Переменная, которую я хочу использовать, называется

$type_id = "Laptop"

Итак, моя первая попытка была

$browser->select('type_id',$type_id)

но это не работает.

Так что просто для проверки я использовал

$browser->select('type_id',1)

это работает, но это не вариант, так как я хочу использовать строку «Ноутбук» для выбора типа.

Это скриншот фильтра и код типа html:

Фильтр

Как я могу использовать «Ноутбук» (или $ type_id), чтобы выбрать вариант «Ноутбук»?


person Janick.Spielmann    schedule 07.04.2019    source источник
comment
Возможный дубликат Выберите вариант на основе текст в раскрывающемся списке с Laravel Dusk   -  person Jonas Staudenmeir    schedule 07.04.2019


Ответы (1)


Проблема здесь в том, что вы неправильно интерпретируете использование select(selectTagId, optionValue).

Ваш код работает, когда вы делаете select('type_id',1), потому что вы используете правильное значение параметра, и не работает, когда вы используете select('type_id', 'Laptop'), потому что «Ноутбук» — это текст Display, а не значение параметра.

поэтому, если вы хотите использовать select('type_id','Laptop'), вам следует обновить теги параметров с <option value=1> до <option value="Laptop">.

person Ian Preglo    schedule 07.04.2019