- दोस्तों,
मैं एक जावा-टूल बना रहा हूं, जावा-और Jaunt API
का उपयोग करके HTML-पेज में कुछ फॉर्म input
तत्वों को स्वचालित रूप से भरने की कोशिश कर रहा है।
HTML- कोड इस प्रकार है:
<fieldset class = "fieldsetlong">
<legend>searchprofile</legend>
<label for="reference">reference:</label>
<input maxlength="50" name="reference" id="reference" type="text" />
</fieldset>
<fieldset class = "fieldsetlong">
<legend>searchcriteria</legend>
<label for="surname">surname:</label>
<input name="searchprofile.surname" id="surname" type="text" />
</fieldset>
"सामान्य" इनपुट-फ़ील्ड reference
(यह काम करता है) भरने के लिए जावा-कोड इस तरह दिखता है:
form.set("reference", "123Test");
दुर्भाग्य से, मैं नाम में डॉट-नोटेशन searchprofile.surname
का उपयोग करने वाले फ़ील्ड को भरने में सक्षम नहीं हूं
यहाँ एक नमूना है जो मैंने कोशिश की है (सफलता के बिना):
form.set("surname", "TestPerson");
form.set("searchprofile.surname", "TestPerson");
form.set("name=\"searchprofile.surname\"", pers.getSurname());
form.set("id=\"surname\"", pers.getSurname());
इनमें से प्रत्येक कमांड के लिए मुझे एक NotFoundException मिलती है और यह नहीं पता कि मैं Jaunt के साथ ऐसा कर सकता हूँ या नहीं।
यह इस संबंध में किसी भी तरह की मदद की सराहना करेगा।
अग्रिम में धन्यवाद
संपादित करें - क्या JSoup के साथ डॉट-नॉटेड इनपुट-फील्ड searchprofile.surname
तक पहुंचने का कोई रास्ता है?
HTML name
में डॉट्स की अनुमति देता है - विशेषता है, लेकिन क्या Jaunt इस abc.name
को स्वीकार करता है?
2 जवाब
आज, Jaunt
समाधान के साथ काम करें
form.set("searchprofile.surname", "TestPerson");
एक जादू की तरह काम किया।
मुझे नहीं पता कि समस्या पहले क्या थी लेकिन मुझे खुशी है कि इसने काम किया।
HTML
डॉट्स और माइनस आदि का उपयोग करने की अनुमति देता है, जिसे मैंने किसी प्रकार के नेस्टेड फॉर्म या पदानुक्रम के रूप में गलत व्याख्या की है, लेकिन डॉट-नोटेशन केवल एक वैध name
- HTML
में विशेषता है।
Jaunt
के बारे में निश्चित नहीं, पहले कभी इसका इस्तेमाल नहीं किया। हालांकि Jsoup
यहां इस्तेमाल होने वाली एक अच्छी सभ्य लाइब्रेरी लगती है। मैं स्वयं काफी समय से Jsoup
का उपयोग कर रहा हूं और यह वेब पृष्ठों को स्क्रैप करने में इनपुट फ़ॉर्म भरने और सबमिट करने में बहुत सफल रहा है, और निश्चित रूप से, HTML पार्सिंग !
मैंने फार्म इनपुट फ़ील्ड भरने और निम्न उत्तर में सर्वर में सबमिट करने के लिए एक कदम दर कदम गाइड पोस्ट किया है: Jsoupp के साथ लॉगिन कैसे करें
मूल रूप से यह आपके कोड के समान काम करता है, एक बहुत ही संक्षिप्त उदाहरण होगा:
Connection.Response response = Jsoup.connect(url)
.data("Name", "Value")
.method(Method.POST).execute();
संबंधित सवाल
नए सवाल
java
जावा एक उच्च स्तरीय प्रोग्रामिंग भाषा है। इस टैग का उपयोग तब करें जब आपको भाषा का उपयोग करने या समझने में समस्या हो। इस टैग का उपयोग शायद ही कभी किया जाता है और इसका उपयोग अक्सर [वसंत], [वसंत-बूट], [जकार्ता-ई], [Android], [javafx], [हडूप], [श्रेणी] और [मावेन] के साथ किया जाता है।