Как вы устанавливаете значение поля ввода с помощью сложного селектора?

Я хочу установить значение определенного бесформенного поля ввода.

my $field = $w->selector('tr.edit td[data-attribute="name"] input', single => 1);

находит это.

$field->attributes->{value} = 'test';

не имеет видимого эффекта.

И то и другое

$w->field($field => 'test');

а также

$w->field('tr.edit td[data-attribute="name"] input' => 'test');

ошибка No elements found for form number 1.

Ответ 1

Когда я столкнулся с этой проблемой, я просто использую метод eval и позволяю Javascript (или jQuery, если он загружен на странице), заботиться о выборе и настройке значений. Для меня это было главным образом выбор выпадающих списков, где для приложения "Угловое" на странице требовалось изменение или событие клика.

$mech->eval( q{$(tr.edit td[data-attribute="name"] input).val('test')} );

Если jQuery нет, я уверен, что ваш Google fu поможет вам.