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

id, name, xpath এবং css-এ কোন লোকেটর ব্যবহার করা উচিত?


প্রতিটি লোকেটর-এর কিছু গুরুত্ব রয়েছে। যদি পেজে ইউনিক অ্যাট্রিবিউট ভ্যালু থাকে, তবে সেগুলোকে প্রথমে ব্যবহার করা উচিত। তবে যদি কোনো ইউনিক এলিমেন্ট না থাকে, তবে css selector ব্যবহার করা উচিত কারণ এটি গতির দৃষ্টিকোন থেকে বেশি কার্যকর।

Css-এ একটি ড্রব্যাক আছে যে চাইল্ড থেকে প্যারেন্ট নোডে ট্রাভার্স করা যায় না, অর্থাৎ পেছনে যাওয়া যায় না। কিন্তু XPath এই ফিচার দেয়। XPath Selenium-এ সবচেয়ে সাধারণ লোকেটর এবং DOM এলিমেন্ট ও অ্যাট্রিবিউটের মাধ্যমে ট্রাভার্স করে একটি অবজেক্ট চিহ্নিত করে।

XPath দুভাবেই রিপ্রেজেন্ট করা হয়: '/' এবং '//'। একক ফরওয়ার্ড স্ল্যাশ মানে অ্যাবসোলিউট পাথ। এখানে XPath DOM-এ সরাসরি পেরেন্ট থেকে চাইল্ডে ট্রাভার্স করে। তাই অ্যাবসোলিউট XPath-এ রুট নোড থেকে টার্গেট পর্যন্ত যেতে হয়।

সিনট্যাক্স - 

driver.findElement(By.xpath("/html/body/div/input")).

ডবল ফরওয়ার্ড স্ল্যাশ '//' মানে রিলেটিভ পাথ। এখানে XPath DOM-এর যেকোনো কোণে ম্যাচিং এলিমেন্ট খুঁজে বের করে। এর কোনো নির্দিষ্ট শুরু বিন্দু নেই।

সিনট্যাক্স -

driver.findElement(By.xpath("//input[@name=’Tutorial’]")).

রিলেটিভ XPath ব্যবহার করা সবসময় পরামর্শ করা হয়। অ্যাবসোলিউট XPath-এ রুট থেকে ডিজায়ার্ড এলিমেন্ট পর্যন্ত স্পেসিফাই করতে হয়, তাই যদি মাঝপথে কোনো অ্যাট্রিবিউট বা ভ্যালু চেঞ্জ হয়, তবে XPath আর সঠিক নয়।

উদাহরণ

import org.openqa.selenium.By; import org.openqa.selenium.Keys; import org.openqa.selenium.WebDriver; import org.openqa.selenium.WebElement; import org.openqa.selenium.chrome.ChromeDriver; import java.util.concurrent.TimeUnit; public class TextMatch {    public static void main(String[] args) {       System.setProperty("webdriver.chrome.driver",    "C:\\Users\\ghs6kor\\Desktop\\Java\\chromedriver.exe");       WebDriver driver = new ChromeDriver();       String url = " https://www.tutorialspoint.com/questions/index.php";       driver.get(url);       driver.manage().window().maximize();       driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS);       // XPath দিয়ে এলিমেন্ট চিহ্নিত করা       driver.findElement(By.xpath("//input[@class=’gsc-input’]")).click();       driver.close();    } }

  1. CSS-এ সিলেক্টর (Selector) কী এবং কীভাবে ব্যবহার করবেন?

  2. CSS এবং JavaScript ব্যবহার করে ক্লাস নাম অনুযায়ী DIV এলিমেন্ট ফিল্টার করার পদ্ধতি

  3. C++-এ static_cast, dynamic_cast, const_cast এবং reinterpret_cast কখন ব্যবহার করব?

  4. আপনার আইফোন সহজে রিনেম করুন এবং এটি কেন গুরুত্বপূর্ণ