কম্পিউটার টিউটোরিয়াল

Selenium-এ CSS সিলেক্টরকে লোকেটর হিসেবে ব্যবহার করা


Selenium WebDriver-এ CSS সিলেক্টর লোকেটর ব্যবহার করে এলিমেন্ট সনাক্ত করা যায়। একটি CSS এক্সপ্রেশন তৈরি করার সাধারণ অভিব্যক্তি হলো tagname[attribute='value']। আমরা id এবং class অ্যাট্রিবিউট ব্যবহার করে CSS তৈরি করতে পারি।

id-এর সাথে, CSS এক্সপ্রেশনের সিনট্যাক্স হলো tagname#id। উদাহরণস্বরূপ, একটি CSS এক্সপ্রেশনের জন্য - input#txt-loc, এখানে input হলো ট্যাগনেম এবং txt-loc হলো id অ্যাট্রিবিউটের মান।

ক্লাস নামের সাথে, CSS এক্সপ্রেশনের সিনট্যাক্স হলো tagname.class। উদাহরণস্বরূপ, একটি CSS এক্সপ্রেশনের জন্য - input.txt-cls, এখানে input হলো ট্যাগনেম এবং txt-cls হলো class অ্যাট্রিবিউটের মান।

যদি একটি ওয়েব এলিমেন্টের (পেরেন্ট) n সাব-এলিমেন্ট (চাইল্ড) থাকে, এবং আমরা nth-child সনাক্ত করতে চাই, তবে CSS এক্সপ্রেশনের সিনট্যাক্স হলো nth-of-type(n)।

Selenium-এ CSS সিলেক্টরকে লোকেটর হিসেবে ব্যবহার করা

উপরোক্ত HTML-এ, যদি আমরা পেরেন্ট ul-এর চতুর্থ li সনাক্ত করতে চাই অর্থাৎ Questions and Answers টেক্সট ধারণকারী অ্যানকর এলিমেন্ট, তবে CSS হওয়া উচিত ul.reading li:nth-of-type(4)। একইভাবে, লাস্ট চাইল্ড সনাক্ত করতে CSS হওয়া উচিত ul.reading li:last-child।

ডাইনামিক মান সম্পন্ন অ্যাট্রিবিউটের জন্য, আমরা ^= সিম্বল ব্যবহার করে সেটি সনাক্ত করতে পারি যার অ্যাট্রিবিউট মান নির্দিষ্ট টেক্সট দিয়ে শুরু হয়। উদাহরণস্বরূপ, input[name^='qa1'] [এখানে input হলো ট্যাগনেম এবং name অ্যাট্রিবিউটের মান qa1 দিয়ে শুরু হয়]।

ডাইনামিক মান সম্পন্ন অ্যাট্রিবিউটের জন্য, আমরা $= সিম্বল ব্যবহার করে সেটি সনাক্ত করতে পারি যার অ্যাট্রিবিউট মান নির্দিষ্ট টেক্সট দিয়ে শেষ হয়। উদাহরণস্বরূপ, input[class$='loc'] [এখানে input হলো ট্যাগনেম এবং class অ্যাট্রিবিউটের মান loc দিয়ে শেষ হয়]।

ডাইনামিক মান সম্পন্ন অ্যাট্রিবিউটের জন্য, আমরা *= সিম্বল ব্যবহার করে সেটি সনাক্ত করতে পারি যার অ্যাট্রিবিউট মান নির্দিষ্ট সাবস্ট্রিং ধারণ করে। উদাহরণস্বরূপ, input[name*='sub'] [এখানে input হলো ট্যাগনেম এবং name অ্যাট্রিবিউটের মান sub সাবস্ট্রিং ধারণ করে]।

উদাহরণ

import org.openqa.selenium.By; import org.openqa.selenium.WebDriver; import org.openqa.selenium.WebElement; import org.openqa.selenium.firefox.FirefoxDriver; import java.util.concurrent.TimeUnit; public class CSSLocator{    public static void main(String[] args) {       System.setProperty("webdriver.gecko.driver",         "C:\\Users\\ghs6kor\\Desktop\\Java\\geckodriver.exe");       WebDriver driver = new FirefoxDriver();       //implicit wait       driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS);       //URL launch       driver.get("https://www.linkedin.com/");       //identify element       WebElement m = driver.       findElement(By.cssSelector("input[id='session_key']"));       //enter text       m.sendKeys("Java");       String s = m.getAttribute("value");       System.out.println("Attribute value: " + s);       //close browser       driver.close();    } }

  1. এন্ড্রয়েড SQLite-এ TINYINT ডেটা টাইপ ব্যবহার করার পদ্ধতি

  2. অ্যান্ড্রয়েড SQLite-এ SMALLINT ভ্যালু ব্যবহার করার পদ্ধতি

  3. CSS সিলেক্টর ব্যবহার করে এলিমেন্ট স্টাইল করার পদ্ধতি

  4. CSS Image Sprites তৈরি ও ব্যবহার করার পদ্ধতি