2012-01-26 12 views
7

में वेब पृष्ठों के साथ सहभागिता एक ऐसी वेबसाइट है जो कोल्डफ्यूजन का उपयोग करके बनाई गई थी (सुनिश्चित नहीं है कि यह मायने रखता है या नहीं)। मुझे इस वेबसाइट से बातचीत करने की ज़रूरत है। मुख्य चीजों को मुझे अलग-अलग पृष्ठों पर नेविगेट करना है और बटन क्लिक करना है।सी #

मैं इस बारे में दो विचारों के साथ आया हूं कि यह कैसे करें। पहला वेबब्रोसर नियंत्रण का उपयोग करना है। इसके साथ, मैं निश्चित रूप से पृष्ठों पर नेविगेट कर सकता हूं, और बटन क्लिक कर सकता हूं (This के अनुसार)।

दूसरा तरीका सीधे एचटीएमएल के साथ बातचीत करना है। यह सुनिश्चित नहीं है कि यह कैसे करें, लेकिन मुझे लगता है कि मैं बटन पर क्लिक कर सकता हूं या पृष्ठ से बातचीत करने के लिए HTML अनुरोधों का उपयोग कर सकता हूं।

क्या किसी के पास कोई सिफारिश है कि किस तरह से बेहतर है? क्या कोई बेहतर तरीका है जिसके बारे में मैंने सोचा नहीं है?

+1

जैसा कि अन्य ने नीचे पोस्ट किया है, .NET में किसी साइट को स्कैप करने का सामान्य तरीका एक HttpWebRequest का उपयोग करना है। आप आसानी से कोड का उपयोग करके साइट पर नेविगेट कर सकते हैं और पोस्ट जारी/इंटरैक्शन अनुकरण करने के लिए अनुरोध प्राप्त कर सकते हैं (बटन धक्का)। आपको फिडलर (फ्री प्रॉक्सी) का उपयोग करके प्रक्रिया रिकॉर्ड करनी चाहिए, जो आपको वेबसाइट के साथ बातचीत करने की पूरी प्रक्रिया को देखने की अनुमति देगी, ताकि आप इसे कोड में फिर से बना सकें। HtmlAgilityPack HTML को पार्स करने के लिए एक शानदार टूल है, जिसे आप स्क्रैपिंग के आधार पर आवश्यक हो सकते हैं। – Zachary

+2

कोशिश करें [WatiN] (http://watin.org/)। – MUS

उत्तर

7

मैं HTML को पार्स करने के लिए Html AgilityPack का उपयोग करता हूं और फिर POSTs करता हूं और HttpWebRequest के साथ उचित रूप से GET करता है।

यह WebBrowser नियंत्रण का उपयोग करने के क्लिक और नेविगेशन आप एचटीएमएल AgilityPack साथ अधिक नियंत्रण होता है अनुकरण करने के लिए संभव हो सकता है और HttpWebRequest के बारे में क्या

3

आप Selenium पर विचार किया था भेजा जाता है हो सकता है? WebDriver एपीआई काफी अच्छा है, और वेबसाइट स्वचालन के मामले में बहुत सी चीजों को अनुमति देता है।

+0

टूटी हुई लिंक यहां – Darkloki

+0

@ डार्कलोकी, यूआरएल तय, धन्यवाद – Vinzz

2

HtmlAguilityPack वेब तत्वों को खींचने और टैग आसानी से ढूंढने के लिए उपयोगी है। यदि आपको किसी वेब सत्र को दूरस्थ रूप से "स्टीयर" करने की आवश्यकता है, हालांकि, मैं WatiN का उपयोग करना पसंद करता हूं। यह स्वयं को वेब यूनिट परीक्षण ढांचे के रूप में बिल करता है, लेकिन जब भी आपको नकली ब्राउज़र अनुभाग की आवश्यकता होती है तो यह बहुत उपयोगी होता है। इसके अलावा, यह आपके द्वारा आवश्यक अधिकांश कार्यों के लिए दूरस्थ रूप से विभिन्न ब्राउज़रों को रिमोट कंट्रोल कर सकता है (जैसे बटन ढूंढना और उसे धक्का देना, या टेक्स्ट फ़ील्ड और यदि आपको लॉगिन की आवश्यकता हो तो टेक्स्ट भरना)।

1

सीधे यूआरएल सबमिट क्यों न करें? यही बटन क्लिक करेगा। WebRequest.Create का उपयोग करके आप सीधे यूआरएल पर जमा कर सकते हैं। लोड करने, पार्स करने और बटन पर "क्लिक" करने की कोई ज़रूरत नहीं है।