2010-02-19 12 views
13

मैं फॉर्म को सबमिट करने के लिए C# के साथ प्रोग्राम कैसे बना सकता हूं (वेब ​​ब्राउज़र में वेब ब्राउज़र में नियंत्रण) स्वचालित रूप से?मैं WebBrowser नियंत्रण के अंदर एक फ़ॉर्म कैसे सबमिट करूं?

उत्तर

27

WebBrowser control में Document property है, जो HtmlDocument देता है। HtmlDocument में several members है जिसका उपयोग आप डोम को पार करने और कुशल बनाने में कर सकते हैं।

एक बार जब आप फॉर्म ढूंढने के लिए इन विधियों का उपयोग कर चुके हैं, तो आप फॉर्म की सबमिट विधि को कॉल करने के लिए InvokeMember का उपयोग कर सकते हैं।

आप पेज एक ही रूप है जानते हैं:

foreach (HtmlElement form in webBrowser1.Document.Forms) 
    form.InvokeMember("submit"); 

आप फार्म की आईडी पता है कि तुम प्रस्तुत करने के लिए करना चाहते हैं:

HtmlElement form = webBrowser1.Document.GetElementById("FormID"); 
if (form != null) 
    form.InvokeMember("submit"); 
+3

, आप this-- webBrowser1.Document.GetElementById तरह फ़ॉर्म भर सकते हैं ("price1") .SetAttribute ("मान", "100"); – milkplus

+2

न केवल कर सकते हैं, लेकिन ** ** ** आवश्यक है: पहले आवश्यक/अनिवार्य इनपुट फ़ील्ड भरने के बिना, सबमिशन असफल या अप्रत्याशित परिणाम उत्पन्न करने के लिए बाध्य है। ध्यान दें कि 'SetAttribute() 'में पहला पैरामीटर हमेशा **" मान "** (उद्धरण के साथ) है। +1 – ih8ie8

0

क्या आप जानते हैं पृष्ठ एक ही है फार्म या आप पहली बार प्रपत्र हैं:

HTMLDocument doc = webBrowser.Document as HTMLDocument;  
HTMLFormElement form = doc.all.OfType<HTMLFormElement>().First(); 
form.submit(); 
प्रस्तुत करने से पहले
संबंधित मुद्दे