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

WebDriver click() বনাম JavaScript click() - Selenium-এ পার্থক্য

Selenium-এ একটি লিংকে ক্লিক করার দুটি পদ্ধতি আছে: WebDriver-এর নেটিভ click() এবং JavaScript Executor-এর click()। উভয়ই ব্যবহৃত হয় কিন্তু কিছু পরিস্থিতিতে একটা অন্য ტা থেকে ভালো কাজ করে।

WebDriver click()

Selenium WebDriver-এর বিল্ট-ইন click() মেথড ব্যবহার করে লিংক ক্লিক করা যায়। লিংক খুঁজে বের করতে linkText বা partialLinkText লোকেটর ব্যবহার করা হয়।

  • driver.findElement(By.linkText("লিংক টেক্সট")) - সম্পূর্ণ লিংক টেক্সট দিয়ে খুঁজে।
  • driver.findElement(By.partialLinkText("আংশিক টেক্সট")) - আংশিক মিল দিয়ে খুঁজে।
  • লিংকগুলো HTML-এ <a> ট্যাগে থাকে।

কোড উদাহরণ (Java)

import org.openqa.selenium.WebDriver;
import org.openqa.selenium.chrome.ChromeDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.By;

public class DriverClick {
  public static void main(String[] args) {
    System.setProperty("webdriver.chrome.driver", "path/to/chromedriver.exe");
    WebDriver driver = new ChromeDriver();
    driver.get("https://www.tutorialspoint.com/about/about_careers.htm");
    
    // লিংক টেক্সট দিয়ে খুঁজে ক্লিক
    driver.findElement(By.linkText("Write for us")).click();
    
    System.out.println("Page title after click: " + driver.getTitle());
  }
}

JavaScript Executor click()

JavaScript Executor ব্যবহার করে ক্লিক করার জন্য executeScript মেথডে arguments[0].click() এবং ক্লিক করা WebElement পাস করা হয়।

কোড উদাহরণ (Java)

import org.openqa.selenium.WebDriver;
import org.openqa.selenium.chrome.ChromeDriver;
import org.openqa.selenium.JavascriptExecutor;
import org.openqa.selenium.By;

public class DriverClickJs {
  public static void main(String[] args) {
    System.setProperty("webdriver.chrome.driver", "path/to/chromedriver.exe");
    WebDriver driver = new ChromeDriver();
    driver.get("https://www.tutorialspoint.com/about/about_careers.htm");
    
    // লিংক খুঁজে বের করুন
    WebElement l = driver.findElement(By.linkText("Write for us"));
    
    // JavaScript Executor দিয়ে ক্লিক
    JavascriptExecutor j = (JavascriptExecutor) driver;
    j.executeScript("arguments[0].click();", l);
    
    System.out.println("Page title after click: " + driver.getTitle());
  }
}

কবে কোনটি ব্যবহার করবেন?

পদ্ধতি সুবিধা ব্যবহার করবেন যখন
WebDriver click() রিয়েল ইউজার ইন্টারঅ্যাকশন অনুকরণ করে, ইভেন্ট হ্যান্ডলার ট্রিগার করে সাধারণ ক্লিকের জন্য, সবসময় প্রথম চয়েস
JS click() ওভারল্যাপিং এলিমেন্ট, অদৃশ্য এলিমেন্ট, ডিজেবল্ড এলিমেন্ট ক্লিক করতে পারে WebDriver click() ফেইল করলে, hidden/covered এলিমেন্টের জন্য

দ্রষ্টব্য

JavaScript click() ব্রাউজারের নেটিভ ইভেন্ট সিস্টেম বাইপাস করে, তাই কিছু কেসে এটি বেশি নির্ভরযোগ্য কিন্তু রিয়েল ইউজার বhaviour অনুকরণ করে না।

  1. জাভাস্ক্রিপ্টে সার্কেল আঁকা

  2. জাভাস্ক্রিপ্টে BigInt

  3. সমাধান: javascript:void(0) এরর

  4. Windows 7, 8.1, এবং 10-এ HP প্রিন্টার ড্রাইভার ইনস্টল করার ধাপে ধাপে গাইড