क्या आपने वास्तव में यहां पोस्ट किए गए कोड का प्रयास किया है?
वैसे मेरे पास ऐसी वेबसाइट है जिसमें आंतरिक संदेश प्रणाली है, जिसमें दो टेक्स्टफील्ड और एक टेक्स्टरेरा है।
मेरी प्रारंभिक नमूना कोड:
@page = @agent.get "thewebsiteItold"
form = @page.form_with(:id => 'form')
textarea_values = "value1\nvalue2"
form['to'] = "username"
form['subject'] = "somesubject"
form['text'] = textarea_values
button = form.button_with(:name => "send")
@agent.click_button button
हालांकि प्रपत्र इस एचटीएमएल था:
in 'method_missing': undefined method `id' for #<Mechanize::Form:0x21efb98> (NoMethodError)
ठीक है, तो मैं बदल दिया है:
<form method="post" action="/somethingyoudontneedtoknow" name="header" id="form">
मेरी स्क्रिप्ट चलाने इस त्रुटि दी आईडी के लिए आईडी और एक और समस्या मिली:
in `<main>': undefined method `click_button' for #<Mechanize:0x253f380> (NoMethodError)
इससे पहले कि आप मुझे बताएं, मैंने "बटन" की सामग्री को दोबारा जांच लिया, जिसमें सही बटन था जिसे मैं फॉर्म एक्शन को आग लगाने के लिए दबा देना चाहता था।
तो मैं तदनुसार these mechanize examples को बदल दिया और कोड अच्छी तरह से काम:
form = @page.form_with(:name => 'header')
textarea_values = "value1\nvalue2"
form['to'] = "username"
form['subject'] = "anotherboringsubject"
form['text'] = textarea_values
button = form.button_with(:name => "send")
@agent.submit(form, button)
और, ठीक है, ऐसा लगता है कि उम्मीद से काम किया:
निष्कर्ष: यदि चेक अपने मूल कोड जो आपने हमें पोस्ट किया है उससे बहुत दूर है या मशीनीकरण का संस्करण link जैसा ही मैंने पारित किया है
क्या आप वास्तविक कोड में सिंगल कोट्स का उपयोग कर रहे हैं? –
@ एमयू बहुत छोटा है: यह सही है, सबमिट किए जाने वाले मान में एक शाब्दिक '\ n' – Marco
@ मार्क थॉमस है: मैं डबल कोट्स – Marco