ChromeDriver
- खास जानकारी
- क्षमताएं और ChromeOptions
- Chrome एक्सटेंशन
- योगदान दें
- डिज़ाइन से जुड़े दस्तावेज़
ChromeDriver डाउनलोड करना
- Chrome का वर्शन 115 और उसके बाद के वर्शन
शुरू करना
- डेस्कटॉप
- Android
- ChromeOS
लॉग इन हो रहा है
- खास जानकारी
- परफ़ॉर्मेंस लॉग
- मोबाइल एम्युलेशन
सहायता चाहिए?
- ChromeDriver के लिए सहायता
- Chrome तुरंत शुरू नहीं होता या क्रैश हो जाता है
- ChromeDriver क्रैश हो जाता है
- क्लिक से जुड़ी समस्याएं
- कीबोर्ड सहायता
- रिमोट डीबगिंग का इस्तेमाल करते समय कार्रवाई नहीं की जा सकती
- सुरक्षा से जुड़ी बातें
क्षमताएं ऐसे विकल्प होते हैं जिनका इस्तेमाल करके, ChromeDriver सेशन को पसंद के मुताबिक बनाया जा सकता है और कॉन्फ़िगर किया जा सकता है. इस पेज पर, ChromeDriver की सभी सुविधाओं और उन्हें इस्तेमाल करने के तरीके के बारे में बताया गया है.
WebDriver भाषा के एपीआई, ChromeDriver को सुविधाएं देने के तरीके उपलब्ध कराते हैं. भाषा के हिसाब से, यह तरीका अलग-अलग हो सकता है. हालांकि, ज़्यादातर भाषाओं में इनमें से एक या दोनों तरीकों का इस्तेमाल किया जाता है:
ChromeOptionsक्लास का इस्तेमाल करें. यह Java, Python वगैरह के साथ काम करता है.DesiredCapabilitiesक्लास का इस्तेमाल करें. यह Python, Ruby वगैरह के साथ काम करता है. हालांकि, यह Java में भी उपलब्ध है, लेकिन Java में इसका इस्तेमाल नहीं किया जा सकता.
ChromeOptions क्लास का इस्तेमाल करना
ChromeOptions का एक इंस्टेंस बनाया जा सकता है. इसमें, ChromeDriver की खास सुविधाओं को सेट करने के आसान तरीके होते हैं. इसके बाद, ChromeOptions
ऑब्जेक्ट को ChromeDriver कन्स्ट्रक्टर में पास किया जा सकता है:
ChromeOptions options = new ChromeOptions();
options.addExtensions(new File("/path/to/extension.crx"));
ChromeDriver driver = new ChromeDriver(options);
Selenium के 3.6.0 वर्शन के बाद से, Java में ChromeOptions क्लास में Capabilities इंटरफ़ेस भी लागू होता है. इससे, आपको ChromeDriver के अलावा, WebDriver की अन्य सुविधाओं का इस्तेमाल करने की सुविधा मिलती है.
ChromeOptions options = new ChromeOptions();
// Add the WebDriver proxy capability.
Proxy proxy = new Proxy();
proxy.setHttpProxy("myhttpproxy:3337");
options.setCapability("proxy", proxy);
// Add a ChromeDriver-specific capability.
options.addExtensions(new File("/path/to/extension.crx"));
ChromeDriver driver = new ChromeDriver(options);
DesiredCapabilities का इस्तेमाल करना
DesiredCapabilities का इस्तेमाल करने के लिए, आपको उस सुविधा का नाम और वैल्यू का टाइप पता होना चाहिए. पूरी सूची देखें.
Python
caps = webdriver.DesiredCapabilities.CHROME.copy()
caps['acceptInsecureCerts'] = True
driver = webdriver.Chrome(desired_capabilities=caps)
Ruby
caps = Selenium::WebDriver::Remote::Capabilities.chrome(
"goog:chromeOptions" => {"args" => [ "window-size=1000,800" ]})
driver = Selenium::WebDriver.for :chrome, desired_capabilities: caps
इस्तेमाल के सामान्य उदाहरण
कस्टम प्रोफ़ाइल का इस्तेमाल करना
डिफ़ॉल्ट रूप से, ChromeDriver हर सेशन के लिए एक नई प्रोफ़ाइल बनाता है. आपके पास, अपनी पसंद के मुताबिक सेटिंग सेट करने या सिर्फ़ कस्टम प्रोफ़ाइल का इस्तेमाल करने का विकल्प है. इसे उपयोगकर्ता डेटा डायरेक्ट्री भी कहा जाता है.
अगर कुछ समय के लिए बनाई गई प्रोफ़ाइल का इस्तेमाल किया जा रहा है, तो chrome.prefs सुविधा का इस्तेमाल करके, Chrome के शुरू होने के बाद लागू होने वाली सेटिंग तय की जा सकती हैं. पसंद के मुताबिक बनाई गई प्रोफ़ाइलों के लिए, user-data-dir Chrome कमांड-लाइन स्विच का इस्तेमाल करके, Chrome को यह बताया जा सकता है कि किस प्रोफ़ाइल का इस्तेमाल करना है:
ChromeOptions options = new ChromeOptions();
options.addArguments("user-data-dir=/path/to/your/custom/profile");
अपनी पसंद के मुताबिक प्रोफ़ाइल बनाने के लिए, Chrome को कमांड-लाइन पर या ChromeDriver के साथ चलाएं. इसके लिए, user-data-dir स्विच को किसी नई डायरेक्ट्री पर सेट करें.
अगर पाथ मौजूद नहीं है, तो Chrome बताई गई जगह पर एक नई प्रोफ़ाइल बनाता है. इसके बाद, प्रोफ़ाइल की सेटिंग में बदलाव किया जा सकता है. साथ ही, ChromeDriver आने वाले समय में इस प्रोफ़ाइल का इस्तेमाल कर सकता है. ब्राउज़र में chrome://version खोलें और देखें कि Chrome किस प्रोफ़ाइल का इस्तेमाल कर रहा है.
Chrome को बड़े स्क्रीन साइज़ में शुरू करना
start-maximized स्विच का इस्तेमाल करके, Chrome को ज़्यादा से ज़्यादा साइज़ में खोलें:
ChromeOptions options = new ChromeOptions();
options.addArguments("start-maximized");
Chrome के किसी ऐसे एक्सीक्यूटेबल का इस्तेमाल करना जो स्टैंडर्ड लोकेशन में मौजूद न हो
ChromeOptions options = new ChromeOptions();
options.setBinary("/path/to/other/chrome/binary");
डायलॉग विंडो ब्लॉक करना
डिफ़ॉल्ट रूप से, ChromeDriver, Chrome को पॉप-अप विंडो दिखाने की अनुमति देने के लिए कॉन्फ़िगर करता है. अगर आपको पॉप-अप ब्लॉक करने हैं और Chrome को ChromeDriver के कंट्रोल में न होने पर, उसके सामान्य तरीके से काम करने की सुविधा वापस लानी है, तो यह तरीका अपनाएं:
ChromeOptions options = new ChromeOptions();
options.setExperimentalOption("excludeSwitches",
Arrays.asList("disable-popup-blocking"));
डाउनलोड डायरेक्ट्री सेट करना
नीचे दिए गए कोड का इस्तेमाल करके, Chrome को किसी खास डायरेक्ट्री में फ़ाइलें डाउनलोड करने के लिए कॉन्फ़िगर किया जा सकता है. हालांकि, आपको इन बातों का ध्यान रखना चाहिए:
- Chrome, डाउनलोड करने के लिए कुछ डायरेक्ट्री का इस्तेमाल करने की अनुमति नहीं देता. खास तौर पर, डेस्कटॉप फ़ोल्डर का इस्तेमाल डाउनलोड डायरेक्ट्री के तौर पर नहीं किया जा सकता. Linux पर, डाउनलोड करने के लिए होम डायरेक्ट्री का इस्तेमाल नहीं किया जा सकता. पाबंदी वाली डायरेक्ट्री की सटीक सूची में बदलाव हो सकता है. इसलिए, हमारा सुझाव है कि आप ऐसी यूनीक डायरेक्ट्री का इस्तेमाल करें जिसका सिस्टम के लिए कोई खास मतलब न हो.
- ChromeDriver, डाउनलोड पूरा होने का इंतज़ार अपने-आप नहीं करता. अगर
driver.quit()को बहुत जल्द कॉल किया जाता है, तो हो सकता है कि डाउनलोड पूरा होने से पहले Chrome बंद हो जाए. - बेहतर नतीजे पाने के लिए, पूरे पाथ का इस्तेमाल करें. ऐसा इसलिए, क्योंकि रिलेटिव पाथ हमेशा काम नहीं करते.
- Windows पर,
\` as path separators./` का इस्तेमाल न करें.
ChromeOptions options = new ChromeOptions();
Map<String, Object> prefs = new HashMap<String, Object>();
prefs.put("download.default_directory", "/directory/path");
options.setExperimentalOption("prefs", prefs);
पहचानी गई सुविधाएं
ChromeDriver के साथ काम करने वाली स्टैंडर्ड सुविधाओं के बारे में जानने के लिए, Selenium दस्तावेज़ और W3C WebDriver स्टैंडर्ड पढ़ें. यहां, Chrome के लिए उपलब्ध सुविधाओं की सूची दी गई है.
ChromeOptions ऑब्जेक्ट
Chrome के हिसाब से बनी ज़्यादातर सुविधाएं, ChromeOptions ऑब्जेक्ट के ज़रिए एक्सपोज़ की जाती हैं. कुछ भाषाओं में, इन्हें ChromeOptions क्लास की मदद से लागू किया जाता है. दूसरी भाषाओं में, ये चुनी गई सुविधाओं में goog:chromeOptions डिक्शनरी में सेव किए जाते हैं.
| नाम | टाइप | डिफ़ॉल्ट | ब्यौरा |
|---|---|---|---|
args
|
स्ट्रिंग की सूची | Chrome को शुरू करते समय इस्तेमाल करने के लिए, कमांड-लाइन आर्ग्युमेंट की सूची. किसी वैल्यू से जुड़े आर्ग्युमेंट को '=' चिह्न से अलग किया जाना चाहिए. जैसे, ['start-maximized', 'user-data-dir=/tmp/temp_profile']. Chrome के आर्ग्युमेंट की सूची देखें. | |
binary
|
स्ट्रिंग | Chrome की एक्ज़िक्यूट की जा सकने वाली फ़ाइल का पाथ. macOS X पर, यह सिर्फ़ ऐप्लिकेशन नहीं, बल्कि असल बाइनरी होनी चाहिए, जैसे कि /Applications/Google Chrome.app/Contents/MacOS/Google Chrome.
|
|
extensions
|
स्ट्रिंग की सूची | Chrome के खुलने पर इंस्टॉल होने वाले एक्सटेंशन की सूची. सूची में मौजूद हर आइटम, base-64 कोड में बदला गया और पैक किया गया Chrome एक्सटेंशन (.crx) होना चाहिए | |
localState
|
शब्दकोश | एक डिक्शनरी, जिसमें हर एंट्री में प्राथमिकता का नाम और उसकी वैल्यू होती है. ये सेटिंग, उपयोगकर्ता के डेटा फ़ोल्डर में मौजूद लोकल स्टेटस फ़ाइल पर लागू होती हैं. | |
prefs
|
शब्दकोश | एक डिक्शनरी, जिसमें हर एंट्री में प्राथमिकता का नाम और उसकी वैल्यू होती है. ये सेटिंग, सिर्फ़ इस्तेमाल की जा रही उपयोगकर्ता प्रोफ़ाइल पर लागू होती हैं. उदाहरणों के लिए, Chrome की उपयोगकर्ता डेटा डायरेक्ट्री में 'प्राथमिकताएं' फ़ाइल देखें. | |
detach
|
बूलियन | गलत |
अगर यह विकल्प 'गलत' पर सेट है, तो ChromeDriver बंद होने पर Chrome भी बंद हो जाता है. भले ही, सेशन बंद हो या नहीं. अगर इसकी वैल्यू 'सही' है, तो Chrome सिर्फ़ तब बंद होगा, जब सेशन बंद हो जाएगा. अगर यह 'सही' पर सेट है और सेशन बंद नहीं हुआ है, तो ChromeDriver, उपयोगकर्ता के उस डेटा की डायरेक्ट्री को साफ़ नहीं कर सकता जिसका इस्तेमाल, चल रहे Chrome इंस्टेंस में किया जा रहा है. |
debuggerAddress
|
स्ट्रिंग |
|
<hostname/ip:port> फ़ॉर्मैट में, Chrome डीबगर सर्वर का पता. जैसे, '127.0.0.1:38947' |
excludeSwitches
|
स्ट्रिंग की सूची | Chrome को शुरू करते समय, ChromeDriver डिफ़ॉल्ट रूप से जो कमांड लाइन स्विच पास करता है उन्हें बाहर रखने के लिए, Chrome के कमांड लाइन स्विच की सूची. स्विच के नाम के आगे -- न जोड़ें. |
|
minidumpPath
|
स्ट्रिंग | Chrome के मिनीडंप को सेव करने के लिए डायरेक्ट्री. (सिर्फ़ Linux पर काम करता है.) | |
mobileEmulation
|
शब्दकोश | "deviceName" की वैल्यू या "deviceMetrics" और "userAgent" की वैल्यू वाली कोई डिक्शनरी. ज़्यादा जानकारी के लिए, मोबाइल इम्यूलेशन देखें. | |
perfLoggingPrefs
|
शब्दकोश | यह एक वैकल्पिक डिक्शनरी है, जिसमें परफ़ॉर्मेंस को लॉग करने की प्राथमिकताएं बताई गई हैं. ज़्यादा जानकारी के लिए नीचे देखें. | |
windowTypes
|
स्ट्रिंग की सूची | विंडो के हैंडल की सूची में दिखने वाली विंडो टाइप की सूची. वेबव्यू एलिमेंट को ऐक्सेस करने के लिए, इस सूची में "वेबव्यू" शामिल करें. | |
enableExtensionTargets
|
बूलियन | गलत | Chrome एक्सटेंशन टारगेट के लिए, आत्मनिरीक्षण की सुविधा चालू करें. ChromeDriver में, डिफ़ॉल्ट रूप से एक्सटेंशन टारगेट शामिल नहीं होते. ऐसा Chrome 136 से हुआ है. |
perfLoggingPrefs ऑब्जेक्ट
perfLoggingPrefs डिक्शनरी का फ़ॉर्मैट यहां दिया गया है. सभी बटन इस्तेमाल करना ज़रूरी नहीं है:
| नाम | टाइप | डिफ़ॉल्ट | ब्यौरा |
|---|---|---|---|
enableNetwork
|
बूलियन | सही | नेटवर्क डोमेन से इवेंट इकट्ठा करने हैं या नहीं. |
enablePage
|
बूलियन | सही | पेज के डोमेन से इवेंट इकट्ठा करने हैं या नहीं. |
traceCategories
|
स्ट्रिंग | (खाली) | कॉमा लगाकर अलग की गई, Chrome की ट्रैकिंग कैटगरी की स्ट्रिंग. इन कैटगरी के लिए, ट्रैक इवेंट इकट्ठा किए जाने चाहिए. कोई वैल्यू न डालने या खाली स्ट्रिंग डालने पर, ट्रैकिंग बंद हो जाती है. |
bufferUsageReportingInterval
|
धनात्मक पूर्णांक | 1000 | DevTools के ट्रैक बफ़र के इस्तेमाल से जुड़े इवेंट के बीच के मिलीसेकंड की अनुरोध की गई संख्या. उदाहरण के लिए, अगर यह वैल्यू 1, 000 है, तो DevTools हर सेकंड में एक बार रिपोर्ट करता है कि ट्रेस बफ़र कितना भरा हुआ है. अगर किसी रिपोर्ट से पता चलता है कि बफ़र का इस्तेमाल 100% हो गया है, तो चेतावनी जारी की जाती है. |
लौटाए गए आइटम की सुविधाएं
यहां Chrome के लिए उपलब्ध सभी सुविधाओं की सूची दी गई है. दूसरे शब्दों में, यह सूची बताती है कि नया सेशन बनाने पर, ChromeDriver क्या दिखाता है.
| नाम | टाइप | ब्यौरा |
|---|---|---|
chrome.chromedriverVersion
|
स्ट्रिंग | ChromeDriver का वर्शन |
userDataDir
|
स्ट्रिंग | उपयोगकर्ता डेटा डायरेक्ट्री का पाथ, जिसका इस्तेमाल Chrome कर रहा है; ध्यान दें, यह 'chrome' डिक्शनरी में मौजूद है |
जब तक कुछ अलग से न बताया जाए, तब तक इस पेज की सामग्री को Creative Commons Attribution 4.0 License के तहत और कोड के नमूनों को Apache 2.0 License के तहत लाइसेंस मिला है. ज़्यादा जानकारी के लिए, Google Developers साइट नीतियां देखें. Oracle और/या इससे जुड़ी हुई कंपनियों का, Java एक रजिस्टर किया हुआ ट्रेडमार्क है.
आखिरी बार 2025-10-23 (UTC) को अपडेट किया गया.