[y for y in [f(x) for x in l] if y]
Для вашей обновленной проблемы это может быть полезно:
[g(x,y) for x in l for y in [f(x)] if y]
Если Capybara не может найти ссылку или кнопку, обычно означает, что ссылки или кнопки нет. Вам нужно будет использовать метод «щелчка».
Из вашего html-примера это должно сработать
1.first('.server-mark-ready).click
2.page.all('.server-mark-ready)[#].click (in case there is more than one div that has that class)
find("#overall-tab").click
должен выполнить работу
Или, если вы действительно хотите нажать на конкретный текст, попробуйте:
find('div', text: 'Request Review From Application Owner').click
Вы можете попробовать -
within ".mark-ready-btn.server-button" do
click_on ".server-mark-ready"
end
Или вы можете использовать «найти»
find('.server-mark-ready').click