2009-10-20 11 views
6

मुझे वेब ब्राउज़र नियंत्रण में कुछ स्वचालन कार्यों को चलाने की आवश्यकता है, लेकिन मुझे कुछ सीमाओं/अज्ञातों का सामना करना पड़ रहा है कि मुझे 100% सुनिश्चित नहीं है कि कैसे हल किया जाए। मैं जो एप्लिकेशन चला रहा हूं वह सार्वजनिक रिलीज के लिए नहीं है, इसलिए मैं एक शर्त को लागू कर सकता हूं जो IE8 स्थापित है।वेबब्रोसर नियंत्रण, अलगाव और आईई 8 इंप्रिवेट मोड

गेकोफैक्स (http://geckofx.org) महान होगा, सिवाय इसके कि यह मुझे डोम में हेरफेर करने का एक स्वीकार्य तरीका नहीं प्रदान करता है क्योंकि मैं HTMLBlement ऑब्जेक्ट्स पर WebBrowser की InvokeMember विधि का उपयोग करता हूं।

वेबकिट.net भी बेहतर होगा, लेकिन कार्यक्षमता की पेशकश करने के लिए इसके विकास में बहुत जल्दी है, मुझे इसे करने की आवश्यकता है।

यह मुझे वेबब्रोसर नियंत्रण के साथ छोड़ देता है। वेबब्रोसर के साथ समस्या यह है कि यह सिर्फ आईई चलाता है, जो सभी प्रक्रियाओं के साथ एक बड़ा वसा साझा वातावरण है।

  • एक स्वचालन सत्र के अंत में, कुकीज़/सत्र/कैश वस्तुओं बने नहीं रहते हैं: दूसरे शब्दों में, सभी उदाहरणों कुकीज़, सत्र, प्रॉक्सी सेटिंग्स, आदि

    यहाँ मैं क्या चाहते हो सकते हैं। वैश्विक अस्थायी इंटरनेट फ़ाइलें फ़ोल्डर को साफ़ करने के बजाय, क्या IE8 द्वारा प्रकट किए गए इनप्रिवेट मोड तक पहुंचने का कोई तरीका है?

  • यदि इनप्रिवेट ब्राउजिंग तक पहुंचने का कोई तरीका है, तो क्या मेरे लिए एक दूसरे से अलग दो अलग-अलग मोड सत्र चलाने के लिए संभव है?

आदर्श रूप में मैं अलग धागे में कई अलग स्वचालन कार्यों को चलाने में सक्षम होना चाहते हैं, अपने स्वयं के निजी ब्राउज़र नियंत्रण के साथ प्रत्येक, कि नहीं बनी रहती है अपनी ही अलग-थलग सत्र/पर्यावरण के साथ प्रत्येक जब काम पूरा करता है।

इसमें कोई सहायता या इनपुट की सराहना की जाएगी!

+0

के लिए पहुँच क्या आप मतलब विंडोज फॉर्म्स है iexplore.exe -private -nomerge WebBrowser नियंत्रण, WPF, या क्या? –

+0

हाय, मुझे खेद है कि यह किसी भी मदद की पेशकश नहीं कर रहा है, लेकिन "वेब ब्राउजर हालांकि यह है कि यह सिर्फ आईई चलाता है, जो सभी प्रक्रियाओं के साथ एक बड़ा वसा साझा वातावरण है। दूसरे शब्दों में, सभी उदाहरण कुकीज़, सत्र, प्रॉक्सी सेटिंग्स साझा करते हैं, आदि।" आप इस जानकारी को कहां मिला? यह मेरी समझ थी कि WebBrowser अन्य प्रक्रियाओं के साथ अपनी कुकीज़ साझा नहीं करता है ... – JonWells

उत्तर

6

नहीं, आप WebProwser नियंत्रण को WebPrivate मोड में नहीं चला सकते हैं; यह बस एक समर्थित परिदृश्य नहीं है।

हां, आप आईई के दो उदाहरणों को इनप्रिवेट मोड में चला सकते हैं और उन्हें एक-दूसरे से अलग कर सकते हैं।

कमांड लाइन का उपयोग करें:

+0

दोह। ठीक है धन्यवाद। –

0

यहाँ कुछ कोड दे देंगे कि आप एक InPrivate आईई

Friend Function Open(Optional ByVal Url As String = "about:blank", Optional ByVal WindowState As ProcessWindowStyle = ProcessWindowStyle.Hidden) As WebBrowser 
On Error Resume Next 

Dim Start As New ProcessStartInfo 
Dim Windows = New ShellWindowsClass 
Dim Count = Windows.Count 
Start.FileName = "iexplore.exe" 
Start.Arguments = "-private -nomerge " & Url 
If WindowState = ProcessWindowStyle.Hidden Then 
    Start.WindowStyle = ProcessWindowStyle.Minimized 
Else 
    Start.WindowStyle = WindowState 
End If 
Process.Start(Start) 

Wait.Reset() 
Do 
    If Windows.Count > Count Then Exit Do 
Loop While Wait.Waiting 

Browser = Windows(Count) 
Browser.Visible = (WindowState <> ProcessWindowStyle.Hidden) 
Return Browser 
End Function