2017-01-16 141 views
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

相关问题