Как использовать файл загрузки capybara?

html как это      <input type='file' id='ok' class='lalalalala'>

мой код   attach_file ( "хорошо", "./набор файлов/издатель/upload_pic.jpg" ) но я потерпел неудачу: Неудачи:

 Capybara::ElementNotFound:
   Unable to find file field "ok"

так что это поле файла? как я могу загрузить файл?

Ответ 1

Из документов Capybara:

The file field can be found via its name, id or label text.

И у вас явно есть это уже, что немного озадачивает. Есть ли модальное окно, блокирующее это и/или является ли page.driver переключением на что-то еще случайно? Я спрашиваю, потому что на самом деле не совсем необходимо взаимодействовать с кнопкой формы и вызывать появление модального или файла/проводника/поискового окна, а иногда это может запутать page.driver(например: переключает фокус на окно вместо страницы).

Попробуйте удалить любые действия click_button непосредственно перед этим шагом, а затем попробуйте следующее:

attach_file('ok', File.absolute_path('./fileset/publisher/upload_pic.jpg'))

Это работало для меня ранее, в супер-глубоко родительском div, который закончился классом кнопок.