সেলেনিয়ামে জটিল 12টি জাভাস্ক্রিপ্ট এক্সিকিউটর পদ্ধতি

টিউটোরিয়ালের এই বিভাগে আমরা সেলেনিয়ামে জাভাস্ক্রিপ্ট এক্সিকিউটর নিয়ে বিস্তারিতভাবে আলোচনা করতে যাচ্ছি এবং ওয়েবঅটোমেশনের ক্ষেত্রে সেলেনিয়ামে জাভাস্ক্রিপ্ট এক্সিকিউটর ব্যবহার করে সমস্ত সম্ভাব্য ক্রিয়াকলাপ সম্পাদিত হতে পারে। 

সেলেনিয়ামে জাভাস্ক্রিপ্ট এক্সিকিউটর কি? 

সেলেনিয়াম লাইব্রেরিতে javascriptexecutor হল একটি ইন্টারফেস যা সংশ্লিষ্ট ব্রাউজার ড্রাইভারের প্রতি বিভিন্ন জাভাস্ক্রিপ্ট সম্পর্কিত ক্রিয়াকলাপ সমর্থন করার জন্য ChromeDriver,FirefoxDriver, RemoteWebDriver,EdgeDriver, EventFiringWebDriver, InternetExplorerDriver ইত্যাদির মতো বিভিন্ন ক্লাস প্রয়োগ করা হচ্ছে।

সেলেনিয়ামে জাভাস্ক্রিপ্ট এক্সিকিউটর
সেলেনিয়ামে জাভাস্ক্রিপ্ট এক্সিকিউটর

সেলেনিয়ামে জাভা স্ক্রিপ্টের ধরন এবং এর পদ্ধতি: 

দুটি ভিন্ন ধরণের জাভাস্ক্রিপ্ট পদ্ধতি উপলব্ধ রয়েছে: 

executeAsyncScript বনাম executeScript এর মধ্যে পার্থক্য:

ExecuteAsyncScript  : এই ধরনের জাভা স্ক্রিপ্ট এক্সিকিউটর বর্তমানে নির্বাচিত ফ্রেম বা উইন্ডোর প্রেক্ষাপটে একটি অ্যাসিঙ্ক্রোনাস জাভাস্ক্রিপ্ট কোড কার্যকর করতে ব্যবহৃত হয়।

executeScript: এই ধরনের জাভা স্ক্রিপ্ট এক্সিকিউটর যা মূলত বর্তমানে নির্বাচিত ফ্রেম বা উইন্ডোর প্রেক্ষাপটে সিঙ্ক্রোনাস জাভাস্ক্রিপ্ট কোড চালায়। 

 

অপারেশন যা সেলেনিয়ামে জাভাস্ক্রিপ্ট এক্সিকিউটর ব্যবহার করে সঞ্চালিত হতে পারে: 

বিভিন্ন গুরুত্বপূর্ণ ওয়েব ক্রিয়াকলাপ রয়েছে যা ব্রাউজার ড্রাইভারে জাভাস্ক্রিপ্ট চালানোর মাধ্যমে নির্দিষ্ট ক্রিয়াকলাপ অর্জন করা হয় যেমন: 

উপরে উল্লিখিত সমস্ত অপারেশন আলোচনা করা যাক: 

সেলেনিয়াম জাভাস্ক্রিপ্ট ক্লিক করুন 

আমরা নিচের পদ্ধতিতে জাভাস্ক্রিপ্ট অপারেশন সহ সেলেনিয়ামে ক্লিক অপারেশন করতে পারি: 

সর্বজনীন শূন্যতা jsClick() { WebElement element = driver.findElement(By.xpath("Xpath_OF_Element")); JavascriptExecutor jscriptExecutor = (JavascriptExecutor) ড্রাইভার; jscriptExecutor.executeScript("আর্গুমেন্ট[0].ক্লিক();", উপাদান); }

সেলেনিয়াম জাভাস্ক্রিপ্ট টেক্সট লিখুন

আমরা নিচের পদ্ধতিতে জাভাস্ক্রিপ্ট অপারেশন সহ সেলেনিয়ামে সেন্ডকি অপারেশন করতে পারি: 

সর্বজনীন শূন্যতা jsSendKeys() { JavascriptExecutor jscriptExecutor = (JavascriptExecutor) ড্রাইভার; jscriptExecutor.executeScript("document.getElementById('id_of_the_element').value='ENTER_THE_TEXT_HERE';"); }

সেলেনিয়াম জাভাস্ক্রিপ্ট চেক চেকবক্স 

আমরা বিকল্প ব্যবহার করতে পারে চেক করা হয়েছে=সত্য বা মিথ্যা সেলেনিয়ামে জাভাস্ক্রিপ্টের সাথে চেকবক্স অপারেশনগুলি সম্পাদন করার ক্ষেত্রে ব্যবহারের ক্ষেত্রে নির্ভর করে।

পাবলিক ভ্যাইড jsCheckBoxOps() { JavascriptExecutor jscriptExecutor = (JavascriptExecutor) ড্রাইভার; jscriptExecutor.executeScript("document.getElementById('id_of_the_element').checked=false;"); }

সেলেনিয়াম জাভাস্ক্রিপ্ট সতর্কতা প্রজন্ম

সতর্কতা তৈরি করতে আমাদের ব্যবহার করতে হবে "সতর্কতা('ALERT_TEXT_TO_BE_SHOWN');জাভাস্ক্রিপ্ট দিয়ে অপারেশন করার সময়।

পাবলিক ভ্যাইড jsAlertGeneration() { JavascriptExecutor jscriptExecutor= (JavascriptExecutor) ড্রাইভার; jscriptExecutor.executeScript("সতর্কতা('ALERT_TEXT_TO_BE_SHOWN');"); }

সেলেনিয়াম জাভাস্ক্রিপ্ট রিফ্রেশ পৃষ্ঠা

জাভাস্ক্রিপ্ট এক্সিকিউটর সহ সেলেনিয়ামে একটি ওয়েবপৃষ্ঠা রিফ্রেশ করতে আমরা ব্যবহার করতে পারি history.go(0).

সর্বজনীন শূন্যতা jsRefreshPage() { JavascriptExecutor jscriptExecutor= (JavascriptExecutor) ড্রাইভার; jscriptExecutor.executeScript("history.go(0)"); }

সেলেনিয়াম জাভাস্ক্রিপ্ট ওয়েবপেজের ভিতরের পাঠ্য পেতে

সম্পূর্ণ অভ্যন্তরীণ পাঠ্য আনয়ন করতে আমরা ব্যবহার করতে পারি document.documentElement.innerText;

পাবলিক স্ট্রিং jsFetchInnerText() { JavascriptExecutor jscriptExecutor= (JavascriptExecutor) ড্রাইভার; ফিরে আসা String.valueOf(jscriptExecutor.executeScript("return document.documentElement.innerText;")); }

সেলেনিয়াম জাভাস্ক্রিপ্ট পাতার শিরোনাম পেতে 

একটি পৃষ্ঠার শিরোনাম ফেরত দিতে আমরা ব্যবহার করতে পারি নথির শিরোনাম; সেলেনিয়ামে জাভাস্ক্রিপ্ট এক্সিকিউটর সহ।

পাবলিক স্ট্রিং jsWebPageTitle() { JavascriptExecutor jscriptExecutor= (JavascriptExecutor) ড্রাইভার; ফিরে আসা String.valueOf(jscriptExecutor.executeScript("রিটার্ন ডকুমেন্ট.টাইটেল;")); }

সেলেনিয়াম জাভাস্ক্রিপ্ট ডোমেন পেতে 

ডোমেইন নাম টানতে আমরা ব্যবহার করতে পারি document.domain;

পাবলিক স্ট্রিং jsFetchDomain() { JavascriptExecutor jscriptExecutor= (JavascriptExecutor) ড্রাইভার; ফিরে আসা String.valueOf(jscriptExecutor.executeScript("রিটার্ন ডকুমেন্ট.ডোমেইন;")); }

সেলেনিয়াম জাভাস্ক্রিপ্ট একটি ওয়েবপৃষ্ঠার URL পেতে

 

সেলেনিয়ামের সাথে জাভাস্ক্রিপ্ট এক্সিকিউটর ব্যবহার করে ইউআরএল আনতে আমরা ব্যবহার করতে পারি document.URL;

পাবলিক স্ট্রিং jsFetchURL() { JavascriptExecutor jscriptExecutor= (JavascriptExecutor) ড্রাইভার; ফিরে আসা String.valueOf(jscriptExecutor.executeScript("রিটার্ন ডকুমেন্ট.URL;")); }

সেলেনিয়াম জাভাস্ক্রিপ্ট একটি ওয়েবপেজ স্ক্রোল করা 

আমরা জাভাস্ক্রিপ্ট ব্যবহার করে একাধিক উপায়ে স্ক্রোলিং করতে পারি, কোড স্নিপেটে দুটি পন্থা নিচে দেখানো হয়েছে যেমন:

সর্বজনীন অকার্যকর scrollIntoView(লোকেটার দ্বারা) { চেষ্টা করুন { JavascriptExecutor executor = (JavascriptExecutor) ড্রাইভার; WebElement উপাদান = driver.findElement(লোকেটার); executor.executeScript("আর্গুমেন্ট[0].scrollIntoView(true);", উপাদান); BASE_LOGGER .info("scrollIntoView অপারেশন লোকেটারের জন্য করা হয়েছে : " + String.valueOf(element)); } ধরা (ব্যতিক্রম e) { স্ট্রিং ব্যতিক্রম ডেটা = e.getCause().getMessage(); BASE_LOGGER.error("ত্রুটির সম্মুখীন হয়েছে যেমন: " + exceptionData + " উপাদানটিতে scrollIntoView সম্পাদন করার সময় : " + লোকেটার); } }

এছাড়াও আমরা নীচের পদ্ধতির মত স্ক্রলিং মান (স্ক্রোলের পরিমাণ) নির্দিষ্ট করতে পারি:

সর্বজনীন শূন্যতা jsScroll() { JavascriptExecutor jscriptExecutor= (JavascriptExecutor) ড্রাইভার; jscriptExecutor.executeScript("window.scrollBy(0,1000)"); }

সেলেনিয়াম জাভাস্ক্রিপ্ট একটি ভিন্ন পৃষ্ঠায় নেভিগেট করতে

সেলেনিয়ামের javascriptexecutor-এর মধ্যে সরাসরি url অবস্থান প্রদান করে আমরা একটি ভিন্ন ওয়েবপেজ/স্ক্রীনে নেভিগেট করতে পারি। 

সর্বজনীন অকার্যকর পৃষ্ঠাNavigationWithJS() { JavascriptExecutor jscriptExecutor= (JavascriptExecutor) ড্রাইভার; jscriptExecutor.executeScript("window.location = 'PageURL_To_Navigate'"); }

সেলেনিয়াম জাভাস্ক্রিপ্ট একটি লুকানো উপাদান খুঁজে পেতে এবং ক্লিক করুন

আমরা ব্যাকএন্ড থেকে জাভাস্ক্রিপ্টের সাথে লুকানো উপাদানটিতে সরাসরি ক্লিক করতে পারি যদিও উপাদানটি দৃশ্যমান নয়, এখানে একই জন্য কোড স্নিপেট রয়েছে:

public void clickOnHiddenElement() { JavascriptExecutor jscriptExecutor= (JavascriptExecutor) ড্রাইভার; WebElement hiddenElement=driver.findElement(By.id("ID_OF_ELEMENT")); jscriptExecutor.executeScript("arguments[0].click();", hiddenElement); }

উপসংহার:

আমরা এখন পর্যন্ত জাভাস্ক্রিপ্ট এবং সেলেনিয়ামে জাভাস্ক্রিপ্ট এক্সিকিউটর ব্যবহার করে সম্পাদিত বিভিন্ন ক্রিয়াকলাপ সম্পর্কে আলোচনা করেছি, আপনাকে এর মাধ্যমে যেতে উত্সাহিত করা হচ্ছে। সম্পূর্ণ সেলেনিয়াম টিউটোরিয়াল একই সব বিভিন্ন দিক একটি ভাল খপ্পর পেতে. টিউটোরিয়াল সিরিজের আসন্ন অংশগুলিতে আমরা আরও আলোচনা করব সেলেনিয়াম অটোমেশন সেলেনিয়ামের সাথে কাজ করার জন্য ফ্রেমওয়ার্ক এবং অন্যান্য সর্বশেষ প্রযুক্তি সেলেনিয়ামের যেকোনো উন্নত সাক্ষাৎকার ক্র্যাক করুন আপনি এখানে যেতে পারেন।

মতামত দিন