2013-05-11 5 views
5

के साथ क्लिक करें मैं वेब पेज पर एक बटन क्लिक करने के अनुकरण के लिए मैकेनाइजेशन का उपयोग करने की कोशिश कर रहा हूं, जो ब्राउज़र में फ़ाइल डाउनलोड शुरू करेगा। यह मेरा कोडबटन द्वारा डाउनलोड की गई फ़ाइल को कैसे प्रबंधित करें मैकेनाइज

form = page.forms.first # => Mechanize::Form 
form = agent.page.form_with(:name => "aspnetForm") 

button = form.button_with(:value => "GPX file") 
pp button 

agent.submit(form, button) 

पीपी बटन से उत्पादन इस प्रकार प्रदर्शित किया जाता है, जो इसे सही बटन का मतलब का एक टुकड़ा है:

#<Mechanize::Form::Submit:0x89fe874 
@name="ctl00$ContentBody$btnGPXDL", 
@node= 
    #(Element:0x44ff480 { 
    name = "input", 
    attributes = [ 
     #(Attr:0x44476d2 { name = "type", value = "submit" }), 
     #(Attr:0x44476c8 { 
     name = "name", 
     value = "ctl00$ContentBody$btnGPXDL" 
     }), 
     #(Attr:0x44476be { name = "value", value = "GPX file" }), 
     #(Attr:0x44476a0 { name = "id", value = "ctl00_ContentBody_btnGPXDL" })] 
    }), 
@value="GPX file"> 

लेकिन "agent.submit जारी होने (प्रपत्र, बटन) "उस बटन को क्लिक करने के लिए ब्राउजर को भेजी गई फाइल को पुनः प्राप्त करने के लिए मैकेनाइजेशन कैसे प्राप्त किया जा सकता है?

मेरे पास वेब पेज, या लिंक प्राप्त करने के लिए एक खोज और पाई गई विधियां हैं, लेकिन इस मामले के अनुरूप कुछ भी नहीं देखा?

बीटीडब्लू मैं रूबी और मैकेनाइज दोनों के लिए एक पूर्ण नौसिखिया हूं, इसलिए खेद है कि यह एक बेवकूफ सवाल है, लेकिन किसी भी प्रतिक्रिया के लिए धन्यवाद!

एम:

उत्तर

5

फ़ाइल या पृष्ठ द्वारा दिया जाना चाहिए सबमिट करें:

response = agent.submit(form, button) 
File.open('saved_file', 'wb'){|f| f << response.body} 
+1

बढ़िया, कि वास्तव में मैं क्या जरूरत है क्या कर रहा है, धन्यवाद pguardiario! – user2373168

संबंधित मुद्दे