0

Den Versuch, erhält das "was" Form (auch bekannt als Jobtitel), von indeed.comUnable Feld „q“ (Capybara :: ElementNotFound) über fill_in

Fehler zu finden, wenn man versucht, das Programm auszuführen:

/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) 

inspizieren Element über firefox aus indeed.com ergibt: 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> 

die den Code in den Abstreifer übereinstimmt:

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

Der gesamte Code finden Sie unter: hier das Problem https://github.com/jasnow/job-hunter/blob/master/scraper.rb

Nun ist die Unfähigkeit, es name="q" zu lokalisieren, die ich noch andere Möglichkeiten, zu dieser Form auf indeed.com in Verbindung bringen könnte, damit ich Screen Scraping initiieren könnte? Ich spreche vielleicht Xpath oder CSS.

Antwort

2

Ihr Code erlaubt nur die URL http://www.indeed.com, aber diese URL leitet zu https://www.indeed.com um und trifft auch http://indeed.com. Daher wird Ihre Seitenladung blockiert. Wechseln Sie zu config.allow_url("indeed.com") und es sollte in der Lage sein, den Eingang zu finden.

+0

es hat funktioniert! Vielen Dank! – user3787179

Verwandte Themen