2013-05-13 4 views
7

के साथ खोला गया है, तो मुझे यहां एक अनोखी समस्या है। जब मैं क्रोमड्राइवर के माध्यम से chromeBrowser खोलता हूं जो previosuly इंस्टॉल किए गए एक्सटेंशन गायब हैं। ऐप एक्सटेंशन एक्सटेंशन फ़ोल्डर (ऐपडेटा \ स्थानीय \ Google \ क्रोम \ उपयोगकर्ता डेटा \ डिफ़ॉल्ट \ एक्सटेंशन) से भी हटाया जा रहा है।क्रोम ब्राउजर पर स्थापित एक्सटेंशन, जब क्रोम ब्राउजर इंस्टेंस सेलेनियम क्रोमड्राइवर

अब जब मैं क्रोम ब्राउज़र मैन्युअल रूप से खोलता हूं, एक्सटेंशन ब्राउज़र पर दिखाई देता है, एक्सटेंशन फ़ोल्डर में ऐप फ़ोल्डर (ऐपडाटा \ स्थानीय \ Google \ क्रोम \ उपयोगकर्ता डेटा \ डिफ़ॉल्ट \ एक्सटेंशन) कोई डब्ल्यू वापस दिखाई नहीं देता है।

नीचे chromedriver & ब्राउज़र का संस्करण है। क्रोमेड्रिवर संस्करण: 26.0.1383.0 क्रोमब्रोसर: 26.0.1410.64

कृपया इस पर सहायता करें।

+0

क्या किसी को इस पर मदद करने के लिए अधिक जानकारी चाहिए ... ?? – navger

उत्तर

0

ChromeOptions विकल्प = नए ChromeOptions(); विकल्प। अतिरिक्त जोड़ें अक्षमता ("बहिष्कृत करें", नई वस्तु [] {"अक्षम-डिफ़ॉल्ट-ऐप्स"});
IWebDriver drv = new ChromeDriver (विकल्प);

वेबड्राइवर से उपलब्ध .नेट बाइंडिंग 2.40 आगे।

+0

यहां तक ​​कि अद्यतन वाक्यविन्यास के साथ - यह मेरे लिए काम नहीं कर रहा है। 'Options.AddExcludedArgument (" को निष्क्रिय-default-क्षुधा ")' –

2

यदि आप परीक्षण के दौरान एक्सटेंशन उपलब्ध करना चाहते हैं तो आपको एक प्रोफ़ाइल के साथ क्रोम शुरू करने की आवश्यकता है जो इस एक्सटेंशन को परिभाषित करता है या एक्सटेंशन को वेबड्राइवर को वांछित संपत्ति के रूप में देता है। आमतौर पर, जब आप वेबड्राइवर के माध्यम से क्रोम शुरू करते हैं तो क्रोम हर बार एक ताजा प्रोफाइल के साथ शुरू होता है। आपको प्रत्येक एक्सटेंशन का उपयोग करना चाहते स्थापित करने के लिए है

DesiredCapabilities capabilities = DesiredCapabilities.chrome(); 
capabilities.setCapability("chrome.switches", 
    Arrays.asList("--load-extension=/path/to/extension/directory")); 
WebDriver driver = new ChromeDriver(capabilities); 

मामले के बारे में अधिक जानकारी पाया जा सकता है here

+0

हाय luksch .. !! मैंने "--user-data = {profile path}" के साथ chromedriver खोलने का प्रयास किया लेकिन यह या तो काम नहीं करता है। – navger

+0

क्या काम नहीं कर रहा है? क्या कोई त्रुटि संदेश है? क्या आपने यहां देखा: http://www.chromium.org/user-experience/user-data-directory – luksch

6

:

इसलिए यदि आप परीक्षण क्रोम में एक विस्तार लोड करना चाहते हैं, यह करने के । सेलेनियम 2 सी # एपीआई में यह

var options = new ChromeOptions(); 
options.AddExtension(Path.GetFullPath("local/path/to/extension.crx")); 
var driver = new ChromeDriver(options); 

और एक्सटेंशन ब्राउज़र में होगा। जावा के लिए संदर्भ here पाया जा सकता है। क्रोम स्टोर से अपने एक्सटेंशन के लिए .crx फ़ाइल को कैसे प्राप्त करें के लिए this question देखें।

+0

इसे एक सीआरएक्स फ़ाइल होने की आवश्यकता नहीं है, ज़िप फ़ाइलों को भी स्वीकार किया जाता है। एपीआई को "एक नई उपयोगकर्ता प्रोफ़ाइल बनाएं, एक्सटेंशन को अनपैक करें और अनपॅक किए गए एक्सटेंशन को लोड करें" के रूप में कार्यान्वित किया गया है। फिर भी +1, क्योंकि यह उत्तर दूसरे की तुलना में अधिक सही है। –

+0

@RobW लोड सीआरएक्स मुझे याद आ रही है फ़ाइल फ़ाइल त्रुटि। मैं एक एक्सटेंशन के ज़िप पैकेज कैसे प्राप्त करूं? – MonsterMMORPG

4

यह उत्तर https://sites.google.com/a/chromium.org/chromedriver/extensions पर पाया जा सकता है। क्रोम एक्सटेंशन या तो पैक या अनपॅक किया जा सकता है। पैक किए गए एक्सटेंशन एक .crx एक्सटेंशन वाले एक फ़ाइल हैं। अनपॅक किए गए एक्सटेंशन एक निर्देशिका हैं जिसमें एक manifest.json फ़ाइल शामिल है।

अनपॅक किए गए एक्सटेंशन को पैक करने के लिए, क्रोम: // एक्सटेंशन में पैक बटन का उपयोग करें या क्रोम का उपयोग करें: "chrome.exe --pack-extension = C: \ path \ to \ unpacked \ extension --pack-extension- कुंजी = C: \ myext.pem "। ऐसा करने के अन्य तरीकों के लिए एक्सटेंशन दस्तावेज़ देखें जो अधिक स्वचालन अनुकूल हैं। पैक किए गए एक्सटेंशन को अनपैक करने के लिए, बस फ़ाइल को अनजिप करें (आपको अपनी ज़िप उपयोगिता को पहचानने के लिए .crx से .zip फ़ाइल को नाम बदलने की आवश्यकता हो सकती है)।

पैक्ड (.crx फ़ाइल) ChromeDriver के माध्यम से स्थापित कर रहा है एक्सटेंशन

ChromeOptions options = new ChromeOptions(); 
options.addExtensions(new File("/path/to/extension.crx")); 
DesiredCapabilities capabilities = new DesiredCapabilities(); 
capabilities.setCapability(ChromeOptions.CAPABILITY, options); 
ChromeDriver driver = new ChromeDriver(capabilities); 

पैक नहीं किया गया (निर्देशिका)

ChromeOptions options = new ChromeOptions(); 
options.addArguments("load-extension=/path/to/extension"); 
DesiredCapabilities capabilities = new DesiredCapabilities(); 
capabilities.setCapability(ChromeOptions.CAPABILITY, options); 
ChromeDriver driver = new ChromeDriver(capabilities); 
संबंधित मुद्दे