ক্ষমতা হল বিকল্প যা আপনি একটি ChromeDriver সেশন কাস্টমাইজ এবং কনফিগার করতে ব্যবহার করতে পারেন। এই পৃষ্ঠাটি সমস্ত ChromeDriver সমর্থিত ক্ষমতা এবং সেগুলি কীভাবে ব্যবহার করতে হয় তা নথিভুক্ত করে৷
WebDriver ভাষা API গুলি ChromeDriver-এ ক্ষমতাগুলি পাস করার উপায় প্রদান করে৷ সঠিক প্রক্রিয়াটি ভাষার দ্বারা পৃথক হয়, তবে বেশিরভাগ ভাষা নিম্নলিখিত প্রক্রিয়াগুলির একটি বা উভয় ব্যবহার করে:
-
ChromeOptions
ক্লাস ব্যবহার করুন. এটি জাভা, পাইথন ইত্যাদি দ্বারা সমর্থিত। -
DesiredCapabilities
ক্লাস ব্যবহার করুন। এটি পাইথন, রুবি, ইত্যাদি দ্বারা সমর্থিত৷ এটি জাভাতেও উপলব্ধ, জাভাতে এর ব্যবহার অবমূল্যায়িত৷
ChromeOptions ক্লাস ব্যবহার করে
আপনি ChromeOptions
এর একটি উদাহরণ তৈরি করতে পারেন, যাতে ChromeDriver-নির্দিষ্ট ক্ষমতা সেট করার সুবিধাজনক পদ্ধতি রয়েছে। তারপরে আপনি ChromeDriver কনস্ট্রাক্টরে ChromeOptions
অবজেক্টটি পাস করতে পারেন:
ChromeOptions options = new ChromeOptions();
options.addExtensions(new File("/path/to/extension.crx"));
ChromeDriver driver = new ChromeDriver(options);
সেলেনিয়াম সংস্করণ 3.6.0 থেকে, জাভাতে 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);
Desired Capabilities ব্যবহার করা
DesiredCapabilities
ব্যবহার করার জন্য, আপনাকে সক্ষমতার নাম এবং এটির মূল্যের ধরণ জানতে হবে। এখানে সম্পূর্ণ তালিকা দেখুন.
পাইথন
caps = webdriver.DesiredCapabilities.CHROME.copy()
caps['acceptInsecureCerts'] = True
driver = webdriver.Chrome(desired_capabilities=caps)
রুবি
caps = Selenium::WebDriver::Remote::Capabilities.chrome(
"goog:chromeOptions" => {"args" => [ "window-size=1000,800" ]})
driver = Selenium::WebDriver.for :chrome, desired_capabilities: caps
সাধারণ ব্যবহারের ক্ষেত্রে
কাস্টম প্রোফাইল ব্যবহার করুন (যাকে ব্যবহারকারী ডেটা ডিরেক্টরিও বলা হয়)
ডিফল্টরূপে, ChromeDriver প্রতিটি সেশনের জন্য একটি নতুন অস্থায়ী প্রোফাইল তৈরি করবে। কখনও কখনও আপনি বিশেষ পছন্দগুলি সেট করতে চাইতে পারেন বা সম্পূর্ণভাবে একটি কাস্টম প্রোফাইল ব্যবহার করতে পারেন৷ যদি আগেরটি হয়, তাহলে Chrome শুরু হওয়ার পরে যে পছন্দগুলি প্রয়োগ করা হবে তা নির্দিষ্ট করতে আপনি 'chrome.prefs' ক্ষমতা (নীচে পরে বর্ণিত) ব্যবহার করতে পারেন৷ পরেরটি হলে, আপনি user-data-dir
ক্রোম কমান্ড-লাইন সুইচ ব্যবহার করে ক্রোমকে কোন প্রোফাইল ব্যবহার করবেন তা বলতে পারেন:
ChromeOptions options = new ChromeOptions();
options.addArguments("user-data-dir=/path/to/your/custom/profile");
আপনি কিছু নতুন ডিরেক্টরিতে user-data-dir
সুইচ সেট করে শুধুমাত্র Chrome (কমান্ড-লাইনে বা ChromeDriver-এর মাধ্যমে) চালিয়ে আপনার নিজস্ব কাস্টম প্রোফাইল তৈরি করতে পারেন। যদি পথটি বিদ্যমান না থাকে, Chrome নির্দিষ্ট স্থানে একটি নতুন প্রোফাইল তৈরি করবে। তারপরে আপনি পছন্দসই প্রোফাইল সেটিংস পরিবর্তন করতে পারেন এবং ChromeDriver ভবিষ্যতে প্রোফাইলটি ব্যবহার করতে পারে৷ ক্রোম কি প্রোফাইল ব্যবহার করছে তা দেখতে ব্রাউজারে chrome://version খুলুন।
Chrome সর্বাধিক শুরু করুন
ChromeOptions options = new ChromeOptions();
options.addArguments("start-maximized");
একটি অ-মানক অবস্থানে একটি Chrome এক্সিকিউটেবল ব্যবহার করা
ChromeOptions options = new ChromeOptions();
options.setBinary("/path/to/other/chrome/binary");
ডায়ালগ উইন্ডো ব্লক করুন
ডিফল্টরূপে, ChromeDriver পপ-আপ উইন্ডোর অনুমতি দেওয়ার জন্য Chrome-কে কনফিগার করে। আপনি যদি পপ-আপগুলি ব্লক করতে চান (অর্থাৎ, ChromeDriver দ্বারা নিয়ন্ত্রিত না হলে স্বাভাবিক Chrome আচরণ পুনরুদ্ধার করুন), নিম্নলিখিতগুলি করুন:
ChromeOptions options = new ChromeOptions();
options.setExperimentalOption("excludeSwitches",
Arrays.asList("disable-popup-blocking"));
ডাউনলোড ডিরেক্টরি সেট করুন
নিম্নলিখিত কোডটি একটি নির্দিষ্ট ডিরেক্টরিতে ফাইল ডাউনলোড করতে Chrome কনফিগার করতে ব্যবহার করা যেতে পারে। যাইহোক, সচেতন হওয়ার জন্য বেশ কয়েকটি সতর্কতা রয়েছে:
- Chrome ডাউনলোডের জন্য নির্দিষ্ট ডিরেক্টরি ব্যবহার করার অনুমতি দেয় না। বিশেষ করে, আপনি ডেস্কটপ ফোল্ডারটিকে ডাউনলোড ডিরেক্টরি হিসাবে ব্যবহার করতে পারবেন না। লিনাক্সে, আপনি ডাউনলোডের জন্য হোম ডিরেক্টরিও ব্যবহার করতে পারবেন না। যেহেতু নিষিদ্ধ ডিরেক্টরিগুলির সঠিক তালিকা পরিবর্তন সাপেক্ষে, তাই এটি সুপারিশ করা হয় যে আপনি এমন একটি ডিরেক্টরি ব্যবহার করুন যার সিস্টেমের কোন বিশেষ অর্থ নেই।
- ChromeDriver স্বয়ংক্রিয়ভাবে ডাউনলোড সম্পূর্ণ হওয়ার জন্য অপেক্ষা করে না। আপনি ড্রাইভার.quit() কে খুব তাড়াতাড়ি কল করলে, ডাউনলোড শেষ হওয়ার আগেই Chrome বন্ধ হয়ে যেতে পারে।
- আপেক্ষিক পথ সবসময় কাজ করে না। সেরা ফলাফলের জন্য, পরিবর্তে সম্পূর্ণ পথ ব্যবহার করুন।
- উইন্ডোজে, পাথ বিভাজক হিসাবে "" ব্যবহার করুন। উইন্ডোজে "/" ব্যবহার করা নির্ভরযোগ্য নয়।
ChromeOptions options = new ChromeOptions();
Map<String, Object> prefs = new HashMap<String, Object>();
prefs.put("download.default_directory", "/directory/path");
options.setExperimentalOption("prefs", prefs);
স্বীকৃত ক্ষমতা
ChromeDriver দ্বারা গৃহীত মানসম্পন্ন ক্ষমতাগুলির জন্য অনুগ্রহ করে সেলেনিয়াম ডকুমেন্টেশন এবং W3C ওয়েবড্রাইভার স্ট্যান্ডার্ড দেখুন৷ এখানে আমরা শুধুমাত্র Chrome-নির্দিষ্ট ক্ষমতা তালিকাভুক্ত করি।
ChromeOptions
অবজেক্ট
বেশিরভাগ Chrome-নির্দিষ্ট ক্ষমতা ChromeOptions
অবজেক্টের মাধ্যমে প্রকাশ করা হয়। কিছু ভাষায়, এটি ChromeOptions
ক্লাস দ্বারা প্রয়োগ করা হয়। অন্যান্য ভাষায়, এগুলি goog:chromeOptions
অভিধানের অধীনে কাঙ্ক্ষিত ক্ষমতার মধ্যে সংরক্ষণ করা হয়৷
perfLoggingPrefs
অবজেক্ট
perfLoggingPrefs অভিধানে নিম্নলিখিত বিন্যাস রয়েছে (সমস্ত কী ঐচ্ছিক):
নাম | টাইপ | ডিফল্ট | বর্ণনা |
---|---|---|---|
enableNetwork | বুলিয়ান | সত্য | নেটওয়ার্ক ডোমেইন থেকে ইভেন্ট সংগ্রহ করবেন কি না। |
enablePage | বুলিয়ান | সত্য | পেজ ডোমেইন থেকে ইভেন্ট সংগ্রহ করবেন কি না। |
traceCategories | স্ট্রিং | (খালি) | Chrome ট্রেসিং বিভাগের একটি কমা দ্বারা পৃথক করা স্ট্রিং যার জন্য ট্রেস ইভেন্টগুলি সংগ্রহ করা উচিত৷ একটি অনির্দিষ্ট বা খালি স্ট্রিং ট্রেসিং অক্ষম করে। |
bufferUsageReportingInterval | ধনাত্মক পূর্ণসংখ্যা | 1000 | DevTools-এর মধ্যে অনুরোধ করা সংখ্যক মিলিসেকেন্ড বাফার ব্যবহারের ইভেন্টগুলি ট্রেস করে৷ উদাহরণস্বরূপ, যদি 1000 হয়, তাহলে প্রতি সেকেন্ডে একবার, DevTools রিপোর্ট করবে যে ট্রেস বাফার কতটা পূর্ণ। যদি একটি রিপোর্ট বাফার ব্যবহার 100% নির্দেশ করে, একটি সতর্কতা জারি করা হবে। |
প্রত্যাবর্তিত ক্ষমতা
এটি সমস্ত Chrome-নির্দিষ্ট প্রত্যাবর্তিত ক্ষমতাগুলির একটি তালিকা৷ (অর্থাৎ, আপনি যখন একটি নতুন সেশন তৈরি করেন তখন ChromeDriver কী ফেরত দেয়)
নাম | টাইপ | বর্ণনা |
---|---|---|
chrome.chromedriverVersion | স্ট্রিং | ChromeDriver এর সংস্করণ |
userDataDir | স্ট্রিং | ব্যবহারকারী ডেটা ডিরেক্টরির পথ যা Chrome ব্যবহার করছে; মনে রাখবেন, এটি একটি 'ক্রোম' অভিধানের ভিতরে রয়েছে |