Ruby:Capybara find()未找到元素

时间:2017-01-17 23:04:44

标签: ruby-on-rails xpath web-scraping web-crawler capybara

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 个答案:

答案 0 :(得分:0)

click_link使用参数来标识要点击的链接。点击"日期" div中的链接,你会做精炼的结果

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

如果您想手动查找元素而不是使用click_link,那么

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

虽然我认为以前的解决方案更清楚你实际在做什么

注意:将来发布问题时,发布您的代码产生的实际错误,这会让人们更容易帮助您