0

試圖讓「什麼」的形式(又名職務)場「Q」(水豚:: ElementNotFound),從indeed.com試圖運行程序時無法找到通過FILL_IN

錯誤:

/var/lib/gems/2.3.0/gems/capybara-2.11.0/lib/capybara/node/finders.rb:44:in `block in find': Unable to find field "q" (Capybara::ElementNotFound) 

經由火狐從indeed.com收率檢查元件:name="q"

<span class="inwrap"> 
<input class="input_text" maxlength="512" size="31" aria-labelledby="what_label_top hidden_colon what_label_bot" name="q" autocomplete="off" id="what"> 
</span> 
<div style="width:250px"><!-- --></div> 

其中碼在刮板相符:

def perform_search 
# For indeed 
fill_in 'q', :with => @skillset 
fill_in 'l', :with => @region 
find('#fj').click 
sleep(1) 
end 

整個代碼,可以發現: https://github.com/jasnow/job-hunter/blob/master/scraper.rb

現在,這裏的問題是無法找到name="q"是否有任何其他的方式我可以鏈接到該表格上indeed.com這樣我就可以啓動webscraping?我正在說xpath或css或許。

回答

2

您的代碼只允許使用網址http://www.indeed.com,但該網址重定向到https://www.indeed.com,並且也碰到了http://indeed.com。因此,您的頁面加載被阻止。更改爲config.allow_url("indeed.com"),它應該能夠找到輸入。

+0

它的工作!謝謝! – user3787179

相關問題