Ответ 1
Вы можете попробовать find('select', :name => 'attributes[ruby][category]')
или find_field('attributes[ruby][category]')
.
Использование огурца и капибара для проверки приложения рельсов. Предполагая, что я не могу изменить разметку, могу ли я использовать capybara для выбора следующего выбора на странице, полной похожих td
и select
s?
<td>
<select name="attributes[ruby][category]">
<option value="2" selected="selected">Languages</option>
<option value="3">Communication</option>
</select>
</td>
Это кажется неудачным (я предполагаю из-за вложенных "[" и "]" ).
find("select[name=attributes[ruby][category]]")
Эскапажи тоже не работают. Мысли?
Вы можете попробовать find('select', :name => 'attributes[ruby][category]')
или find_field('attributes[ruby][category]')
.
Я думаю, вам нужно указать значение атрибута:
find("select[name='attributes[ruby][category]']")
но марочное предложение использования find_field - более чистый подход.
В более общем плане вы можете использовать XPath
find(:xpath, "//select[@name='attributes[ruby][category]'")
Этот подход имеет то преимущество, что его можно использовать для любого атрибута.