0

Попытка получить «что» форма (ака название должности), от Indeed.comНевозможно найти поле «д» (капибары :: ElementNotFound) через 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

Ваш код разрешает только URL http://www.indeed.com, но этот URL-адрес перенаправляется на https://www.indeed.com, а также показывается http://indeed.com. Поэтому ваша загрузка страницы блокируется. Измените на config.allow_url("indeed.com") и он должен быть в состоянии найти вход.

+0

это сработало! Спасибо! – user3787179