কম্পিউটার

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


প্রতিটি লোকেটারের কিছু তাৎপর্য রয়েছে৷ পৃষ্ঠায় অনন্য থাকলে

বৈশিষ্ট্য মান, আমরা তাদের প্রথমে ব্যবহার করা উচিত. যাইহোক যদি কোন অনন্য উপাদান না থাকে, তাহলে আমাদের CSS নির্বাচক ব্যবহার করা উচিত কারণ এটি গতির ক্ষেত্রে আরও কার্যকর।

Css এর একটি ত্রুটিও রয়েছে যে আমরা চাইল্ড থেকে প্যারেন্ট নোডে যেতে পারি না যার মানে আমরা পিছিয়ে যেতে পারি না। কিন্তু xpath এই বৈশিষ্ট্যটির অনুমতি দেয়। Xpath হল সেলেনিয়ামের সবচেয়ে সাধারণ লোকেটার এবং এটি 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-এ, আমাদেরকে রুট থেকে পছন্দসই এলিমেন্টে নির্দিষ্ট করতে হবে তাই যদি কোনো অ্যাট্রিবিউট এবং এর মান এর মধ্যে পরিবর্তিত হয়, তাহলে আমাদের 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);
      //identifying element with xpath
      driver.findElement(By.xpath("//input[@class=’gsc-input’]")).click();
      driver.close();
   }
}

  1. একটি নির্বাচক কি এবং কিভাবে এটি CSS ব্যবহার করা হয়?

  2. সিএসএস এবং জাভাস্ক্রিপ্ট সহ ক্লাসের নামের উপর ভিত্তি করে কীভাবে একটি DIV উপাদান ফিল্টার করবেন?

  3. static_cast, dynamic_cast, const_cast এবং reinterpret_cast কখন ব্যবহার করা উচিত?

  4. আপনার আইফোনের নাম কীভাবে পরিবর্তন করবেন (এবং কেন আপনার উচিত)