ক্ষমতা হল বিকল্প যা আপনি একটি 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
স্যুইচ ব্যবহার করে কমান্ড-লাইনে বা ChromeDriver-এর সাহায্যে Chrome চালিয়ে আপনার নিজস্ব কাস্টম প্রোফাইল তৈরি করুন।
যদি পথটি বিদ্যমান না থাকে, Chrome নির্দিষ্ট স্থানে একটি নতুন প্রোফাইল তৈরি করে। আপনি তারপর প্রোফাইল সেটিংস পরিবর্তন করতে পারেন, এবং ChromeDriver ভবিষ্যতে প্রোফাইলটি ব্যবহার করতে পারে৷ ক্রোম কি প্রোফাইল ব্যবহার করছে তা দেখতে ব্রাউজারে chrome://version
খুলুন।
Chrome সর্বাধিক শুরু করুন
start-maximized
সুইচ ব্যবহার করে ক্রোম সর্বাধিক শুরু করুন:
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 স্বয়ংক্রিয়ভাবে ডাউনলোড সম্পূর্ণ হওয়ার জন্য অপেক্ষা করে না। আপনি
driver.quit()
খুব তাড়াতাড়ি কল করলে, ডাউনলোড শেষ হওয়ার আগেই Chrome বন্ধ হয়ে যেতে পারে। - সেরা ফলাফলের জন্য, সম্পূর্ণ পাথ ব্যবহার করুন, কারণ আপেক্ষিক পাথ সবসময় কাজ করে না।
- উইন্ডোজে,
\` 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 দ্বারা গৃহীত মানক ক্ষমতার জন্য সেলেনিয়াম ডকুমেন্টেশন এবং W3C ওয়েবড্রাইভার স্ট্যান্ডার্ড পড়ুন। এখানে, আমরা Chrome-নির্দিষ্ট ক্ষমতা তালিকাভুক্ত করি।
ChromeOptions
অবজেক্ট
বেশিরভাগ Chrome-নির্দিষ্ট ক্ষমতা ChromeOptions
অবজেক্টের মাধ্যমে প্রকাশ করা হয়। কিছু ভাষায়, তারা ChromeOptions
ক্লাস দ্বারা প্রয়োগ করা হয়। অন্যান্য ভাষায়, সেগুলি নির্বাচিত ক্ষমতাগুলিতে goog:chromeOptions
অভিধানের অধীনে সংরক্ষণ করা হয়৷
perfLoggingPrefs
অবজেক্ট
perfLoggingPrefs
অভিধানে নিম্নলিখিত বিন্যাস রয়েছে। সমস্ত কী ঐচ্ছিক:
প্রত্যাবর্তিত ক্ষমতা
এখানে সমস্ত Chrome-নির্দিষ্ট প্রত্যাবর্তিত ক্ষমতাগুলির একটি তালিকা রয়েছে, অন্য কথায়, আপনি যখন একটি নতুন সেশন তৈরি করেন তখন ChromeDriver কী ফেরত দেয়৷