Ich versuche, das folgende Kratzen zu tun, aber habe Probleme, den Namen des Formulars zu finden, um die Postleitzahlen einzugeben.Finden Sie ein Feld ohne einen Namen in Mechanize
require 'mechanize'
agent = Mechanize.new
page = agent.get('https://www.wendys.com/en-us/Location')
wendy_form = page.form('find_loc') #name of the form
wendy_form.altZip = '10013'
#altZip is the input form name
page = agent.submit(wendy_form)
page.search('p.store_address').each do |li|
puts li.content
end
Dies ist die Form, die ich versuche zu bekommen.
<form data-bind="submit: destinationFinder.huntViaAddressForm, visible: destinationFinder.isShowingResultsView() || ! routePlanner.destination.exists()" id="find_loc" style="">
gibt es die folgende Fehlermeldung:
2.rb:9:in `<main>': undefined method `altZip=' for nil:NilClass (NoMethodError)
rechts auf das Element, und wählen Sie Element inspizieren und suchen nach das Namensattribut in Dev-Tools. – marcusshep
Bereits getan. Es ist leer. – awald
Gibt es noch andere Attribute für das Element, die Sie verwenden könnten? dh ID, Klasse, Elementtyp – marcusshep