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

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

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

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

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

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

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

  • এক্সিকিউটআরসিঙ্কস্ক্রিপ্ট
  • এক্সিকিউটস্ক্রিপ্ট

এক্সিকিউটিএসিঙ্কস্ক্রিপ্ট বনাম এক্সিকিউটসস্ক্রিপ্টের মধ্যে পার্থক্য:

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

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

 

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

ব্রাউজার ড্রাইভারের জাভাস্ক্রিপ্ট কার্যকর করে নির্দিষ্ট অপারেশন অর্জনের জন্য বিভিন্ন ক্রিয়াকলাপের ওয়েব অপারেশনগুলি অর্জন করা হয় যেমন: 

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

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

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

public void jsClick() {
   WebElement element = driver.findElement(By.xpath("Xpath_OF_Element"));
   JavascriptExecutor jscriptExecutor = (JavascriptExecutor) driver;
   jscriptExecutor.executeScript("arguments[0].click();", element);
}

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

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

public void jsSendKeys() {
   JavascriptExecutor jscriptExecutor = (JavascriptExecutor) driver;
   jscriptExecutor.executeScript("document.getElementById('id_of_the_element').value='ENTER_THE_TEXT_HERE';");
}

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

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

public void jsCheckBoxOps() {
   JavascriptExecutor jscriptExecutor = (JavascriptExecutor) driver;
   jscriptExecutor.executeScript("document.getElementById('id_of_the_element').checked=false;");
}

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

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

public void jsAlertGeneration() {
   JavascriptExecutor jscriptExecutor= (JavascriptExecutor) driver;
   jscriptExecutor.executeScript("alert('ALERT_TEXT_TO_BE_SHOWN');");
}

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

জাভাস্ক্রিপ্ট এক্সিকিউটারের সাথে সেলেনিয়ামে একটি ওয়েবপেজ রিফ্রেশ করতে আমরা ব্যবহার করতে পারি ইতিহাস.গো (0).

public void jsRefreshPage() {
   JavascriptExecutor jscriptExecutor= (JavascriptExecutor) driver;
   jscriptExecutor.executeScript("history.go(0)");
}

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

পুরো অভ্যন্তরীণ পাঠ্য আনতে আমরা ব্যবহার করতে পারি document.docamentElement.innerText;

public String jsFetchInnerText() {
   JavascriptExecutor jscriptExecutor= (JavascriptExecutor) driver;
   return String.valueOf(jscriptExecutor.executeScript("return document.documentElement.innerText;"));
}

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

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

public String jsWebPageTitle() {
   JavascriptExecutor jscriptExecutor= (JavascriptExecutor) driver;
   return String.valueOf(jscriptExecutor.executeScript("return document.title;"));
}

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

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

public String jsFetchDomain() {
   JavascriptExecutor jscriptExecutor= (JavascriptExecutor) driver;
   return String.valueOf(jscriptExecutor.executeScript("return document.domain;"));
}

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

 

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

public String jsFetchURL() {
   JavascriptExecutor jscriptExecutor= (JavascriptExecutor) driver;
   return String.valueOf(jscriptExecutor.executeScript("return document.URL;"));
}

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

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

public void scrollIntoView(By locator) {

   try {
       JavascriptExecutor executor = (JavascriptExecutor) driver;
       WebElement element = driver.findElement(locator);
       executor.executeScript("arguments[0].scrollIntoView(true);", element);
       BASE_LOGGER
               .info("scrollIntoView operation has been performed for the locator : " + String.valueOf(element));
   } catch (Exception e) {
       String exceptionData = e.getCause().getMessage();
       BASE_LOGGER.error("Error encountered i.e : " + exceptionData
               + " while performing scrollIntoView on the element : " + locator);
   }
}

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

public void jsScroll() {
   JavascriptExecutor jscriptExecutor= (JavascriptExecutor) driver;
   jscriptExecutor.executeScript("window.scrollBy(0,1000)");
}

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

আমরা সেলেনিয়ামের জাভাস্ক্রিপ্টেক্সটেক্টরের মধ্যে সরাসরি ইউআরএল অবস্থান সরবরাহ করে একটি ভিন্ন ওয়েবপৃষ্ঠা / স্ক্রিনে নেভিগেট করতে পারি। 

public void pageNavigationWithJS() {
   JavascriptExecutor jscriptExecutor= (JavascriptExecutor) driver;
   jscriptExecutor.executeScript("window.location = 'PageURL_To_Navigate'");
}

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

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

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

উপসংহার:

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

দেবরঘ্যা সম্পর্কে

মাইয়েস্ দেবারঘ্যা রায়, আমি একটি ইঞ্জিনিয়ারিং আর্কিট্যাক্ট ফরচুনি 5 সংস্থার সাথে কাজ করছি এবং ওপেন সোর্স অবদানকারী, বিভিন্ন প্রযুক্তি স্ট্যাকের প্রায় 12 বছরের অভিজ্ঞতা / দক্ষতা অর্জন করছি।
আমি বিভিন্ন প্রযুক্তি যেমন জাভা, সি #, পাইথন, গ্রোভি, ইউআই অটোমেশন (সেলেনিয়াম), মোবাইল অটোমেশন (অ্যাপিয়াম), এপিআই / ব্যাকএন্ড অটোমেশন, পারফরম্যান্স ইঞ্জিনিয়ারিং (জেমেটার, পঙ্গপাল), সুরক্ষা অটোমেশন (মোবিএসএফ, ওউএএসপি, কালি লিনাক্স) এর সাথে কাজ করেছি , অ্যাস্ট্রা, জ্যাপ ইত্যাদি), আরপিএ, প্রসেস ইঞ্জিনিয়ারিং অটোমেশন, মেনফ্রেম অটোমেশন, স্প্রিংবুট, কাফকা, রেডিস, রবিটএমকিউ, ইএলকে স্ট্যাক, গ্রেলোগ, জেনকিন্স সহ ক্লাউড টেকনোলজিস, ডিভোপস ইত্যাদির অভিজ্ঞতা রয়েছে Back
আমি আমার স্ত্রীর সাথে ভারতের বেঙ্গালুরুতে থাকি এবং ব্লগিং, সংগীত, গিটার বাজানো এবং আমার জীবনদর্শন দর্শনের প্রতি অনুরাগ রয়েছে যা ল্যাম্বডিজিক্সের জন্ম দিয়েছিল সবার জন্য শিক্ষা। লিংকড-ইনগুলির সাথে সংযুক্ত হতে দেয় - https://www.linkedin.com/in/debarghya-roy/

মতামত দিন

আপনার ইমেইল প্রকাশ করা হবে না। প্রয়োজনীয় ক্ষেত্রগুলি * চিহ্নিত করা আছে।

লাম্বদা গিক্স