2010-07-31 17 views
7

का उपयोग कर वेबसाइट ऑटोमेशन मैं एक एप्लिकेशन बना रहा हूं जो वेबब्राउज़र नियंत्रण में एक वेबसाइट खोलता है और फिर कुछ टेक्स्ट फ़ील्ड में रखता है और फिर क्लिक कुछ बटनों पर एक के बाद सबमिट करता है।सी # और वेबब्रोसर

कोड bellow पर एक नज़र ...

 
var doc = webBrowser1.Document.GetElementById("ddlOnBoro"); 
doc.SetAttribute("SelectedIndex", "3"); 
var temp = doc.InvokeMember("change"); 

doc = doc.Document.GetElementById("iddOnstreet_txTextBox"); 
doc.SetAttribute("value", "ASTOR PLACE"); 

var adoc = doc.Document.GetElementById("Button6"); 
var getCrossStreets = adoc.DomElement as mshtml.HTMLInputButtonElement; 
adoc.RaiseEvent("onclick"); 

प्रथम और अंतिम 3 लाइनों अच्छा और यहां तक ​​कि बीच 2 काम करता है ठीक से काम है लेकिन जब मैं कोड की अंतिम पंक्ति में ("onclick") RaiseEvent, सबमिट होने से पहले टेक्स्टबॉक्स का मूल्य खाली हो जाता है, फिर भी मैंने इसे कोड की 5 वीं पंक्ति में सेट कर दिया है।

वेबसाइट एएसपी.नेट में बनाई गई है और मुझे लगता है कि यह व्यूस्टेट है जो गड़बड़ कर रहा है।

कोई विचार?

+0

आप ऐसा आवेदन क्यों लिखते हैं? –

+0

क्या आपने वॉटर की तरह कुछ माना है? (http://watir.com/) – Graham

उत्तर

3

http://watin.org/ वॉटर से आधारित है और वेब साइटों के यूनिट परीक्षण की अनुमति देता है। इसका उपयोग फॉर्म डेटा दर्ज करने, वेब साइटों से डेटा स्क्रैप करने आदि के लिए भी किया जा सकता है। यह सी # के उपयोग के लिए बिल्कुल सही है। कृपया घृणास्पद उद्देश्यों के लिए इसका इस्तेमाल न करें।

यदि आप IE में वेबसाइट पर हैं, तो क्या आप बटन क्लिक करते समय टेक्स्टबॉक्स साफ़ करेंगे? यदि आप दोहराने की कोशिश करते हैं कि आपका प्रोग्राम हाथ से क्या करने की कोशिश कर रहा है और वही बात नहीं होती है, तो हो सकता है कि आप कुछ खो रहे हों। उदाहरण के लिए, पहली तीन पंक्तियों में, आप "परिवर्तन" ईवेंट को कॉल करते हैं (जो मुझे लगता है कि वास्तव में "बदले" है) लेकिन आप इसे अगले 2 लाइनों के लिए नहीं करते हैं। बस इसे देखकर, यह आपके कोड के बीच एकमात्र अंतर है और इसे हाथ से कर रहा है।

1

संदर्भ के रूप में, जांचें कि लोकप्रिय iMacros ब्राउज़र मैक्रो रिकॉर्डर इस वेबसाइट को संभाल सकता है या नहीं। यदि हां, तो आप कम से कम जानते हैं कि यह करने योग्य है।

+0

मुझे पता चला कि खेतों को रीसेट किया जा रहा था क्योंकि ऐसा करने के लिए जावास्क्रिप्ट वहां था। इसे वहां जावास्क्रिप्ट द्वारा पोस्ट किया जा रहा था। – Neutralizer

2

कृपया निम्नलिखित आलेख देखें।

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

C# Auto click button and auto fill form

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