के बराबर जावा मैं पिछले दो दिनों से जावा के जरिए क्रोम ड्राइवर के लिए ड्राइवर प्राथमिकताओं को सेट करने के लिए कोई रास्ता नहीं ढूंढ रहा हूं।सेलेनियम 2 क्रोम ड्राइवर वरीयताएं जावा रूबीबिंडिंग्स
मुझे रूबी वीआईए रूबी बाइंडिंग में एक समाधान मिला है और मुझे यह जानना है कि जावा जावा समतुल्य रेखा है जिसके लिए मैं इसका उपयोग कर सकता हूं।
गहरे लाल रंग का कोड निम्नलिखित है:
profile = Selenium::WebDriver::Chrome::Profile.new
profile['download.prompt_for_download'] = false
profile['download.default_directory'] = "/path/to/dir"
driver = Selenium::WebDriver.for :chrome, :profile => profile
खोज मैंने पाया कि क्रोम एक प्रोफाइलर मैं FirefoxProfile वर्ग की तरह इस्तेमाल कर सकते हैं नहीं है, इसलिए मैं बजाय DesireCapabilities वर्ग का उपयोग शुरू किया है।
Map<String, String> prefs = new Hashtable<String, String>();
prefs.put("download.prompt_for_download", "false");
prefs.put("download.default_directory", "/path/to/dir");
prefs.put("download.extensions_to_open", "pdf");
DesiredCapabilities capabilities = DesiredCapabilities.chrome();
capabilities.setCapability("chrome.prefs", prefs);
dr = new ChromeDriver(capabilities);
हालांकि मैं इस काम के प्राप्त करने में सक्षम नहीं था, डिफ़ॉल्ट: इस समस्या को मैंने पाया मैं capabilities.setCapabilitiy के माध्यम से "स्विच" और "वरीयता" सेट कर सकते हैं कि और निम्नलिखित के साथ समाप्त हो गया में आगे की जांच पड़ताल के बाद डाउनलोड निर्देशिका को एक बार शुरू होने पर निर्दिष्ट निर्देशिका में कभी नहीं बदला गया था। मुझे यकीन है कि अगर मैं इस क्षमता को निर्धारित करने की कोशिश कर रहा हूं या समस्या कहीं और है तो कोई समस्या है।
अंत में मैं अंत में इस्तेमाल किया समाधान यहाँ प्रस्तावित:
http://dkage.wordpress.com/2012/03/10/mid-air-trick-make-selenium-download-files/
लेकिन मुझे पता है कि अगर यह करने के लिए संभव है चाहते हैं यह अधिक सफाई से लेकिन सिर्फ प्राथमिकताओं को सेट करने के बजाय सीधे यूआई
का उपयोग करकिसी भी मदद की सराहना की है, धन्यवाद!
अद्यतन:
हैरानी की बात है संस्करण 2.24.1 करने के लिए सेलेनियम 2 को अद्यतन करने के बाद (और खिड़कियों 22 क्रोम के लिए), मैप्स के साथ ऊपर कोड की उम्मीद काम के रूप में, केवल समस्या अब है कि वे का उपयोग पदावनत कन्स्ट्रक्टर क्रोमड्राइवर (वांछित क्षमताओं क्षमताओं), और इसके बजाय मैं क्रोमऑप्शन क्लास का उपयोग करने की सलाह देता हूं, जिसे मैं उपर्युक्त परिदृश्य के लिए काम नहीं कर सकता।
नीचे दोनों ChromeOptions और DesiredCapabilities के उपयोग समझा विकि पृष्ठ है: http://code.google.com/p/chromedriver/wiki/CapabilitiesAndSwitches
सुझाव के लिए धन्यवाद, मैंने यह नहीं देखा कि बाइंडिंग इस तरह विस्तारित है। दुर्भाग्यवश यद्यपि ऐसा करने से अभी भी मदद नहीं मिली है (मैंने "prompt_for_download" को बाहर रखा था क्योंकि क्रोम पहले से ही किसी समस्या की संभावना से बचने के लिए डिफ़ॉल्ट रूप से करता है) – Zero4573