Ruby: Capybara find () элемент не найден

def perform_search

fill_in 'q', :with => @skillset
fill_in 'l', :with => @region
find('#fj').click
find("#refineresults", text: "date").click_link
sleep(1)
end

Источник: https://github.com/jmopr/job-hunter/blob/master/scraper.rb

Пытаясь получить indeed.com Сортировать по дате, а не по релевантности, нажав на ссылку дата. Может ли кто-нибудь указать мне, где я иду неправильно с 4-й строкой в коде?

1 ответ

  1. click_link принимает параметры для определения ссылки, на которую он собирается нажать. Чтобы перейти по ссылке «дата» в div с идентификатором refineresults, нужно сделать

    find("#refineresults").click_link("date")
    

    Если вы хотите найти элемент вручную, а не с помощью click_link, вы бы это сделали

    find("#refineresults a", text: "date").click
    

    хотя я думаю, что предыдущее решение более четкое относительно того, что вы на самом деле делаете

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