작업 지금 내가 위치 제목을 반환하는 부분이 잘 작동하기 때문에 '.jobtitle'클래스가 존재하는 사실을 알고루비 기계화을 클릭하면 다음
while counter <= 3
url = "http://www.indeed.ca/jobs?q=" << job_title_search << "&l=" << job_location << ",+ON&start=" << (counter * 20).to_s
counter += 1
doc = Nokogiri::HTML(open(url))
# can't put in if loop to only perform once for some reason
page = agent.get(url)
current_page = agent.page.uri
puts current_page
doc.css(".result").each do |item|
job_title = item.at_css(".jobtitle").text[/[^\s][a-zA-Z -]*/]
job_company = item.at_css(".company").text[/[^\s][a-zA-Z -]*/]
full_job = job_title + " - " + job_company
agent.current_page.link_with(:class => '.jobtitle').click
posting_page = agent.page.uri
puts posting_page
if cache.include?(full_job) == false
cache << full_job
puts "#{job_title} - #{job_company}"
end
end
puts ""
end
내 코드의 긁는 부분 없습니다. 내가 알아 내려고하는 것은 Mechanize가 '클릭'기능을 사용하지 못하게하는 이유입니다. 위키피디아 메인 페이지에서 수행 한 다른 테스트에서는 CSS ID, 클래스, & 텍스트에서 잘 작동합니다.
제 질문은 그것이 클릭 기능에서 실패하는 원인이 무엇입니까? 그것이 생성하는 오류는 일반적인 "정의되지 않은 메서드 ''nil : NilClass"를 클릭하는 것입니다.
은 내가 이전 스크립트의 '.jobtitle'클래스에 접근하고 있습니다 때문에 (다만 다시 확인 내가 너트 않을거야 만들기 위해 그것을 시도)도 처음에는 있지만, 그 아니라고 생각 . – Mitchell
'.jobtitle'은 CSS 선택기이며 'jobtitle'은 클래스 (또는 그 일부)입니다. – pguardiario