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)।

উপরোক্ত 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(); } }