পেজের মধ্যে DOM Manipulation করা

Webpage Automation এবং DOM Manipulation - ফ্যান্টমজেএস (PhantomJS) - Web Development

210

PhantomJS একটি হেডলেস ব্রাউজার যা WebKit ইঞ্জিন ব্যবহার করে। এটি সম্পূর্ণ JavaScript API সমর্থন করে এবং HTML, CSS, DOM, এবং JavaScript-কে প্রক্রিয়া করতে সক্ষম। PhantomJS সাধারণত automated testing, screen capturing, headless browsing, এবং web scraping এর জন্য ব্যবহৃত হয়। এটি ইউজারের ইন্টারঅ্যাকশন ছাড়াই ওয়েবপেজে কাজ করতে পারে।

PhantomJS এ DOM Manipulation:

DOM Manipulation হল ওয়েব পেজের Document Object Model (DOM) এর সঙ্গে ইন্টারঅ্যাক্ট করে তার বিভিন্ন উপাদানের মান পরিবর্তন করা। PhantomJS এর মাধ্যমে আপনি একটি পেজ লোড করে তার DOM পরিবর্তন করতে পারেন, যেমন টেক্সট পরিবর্তন, উপাদান গোপন করা, বা নতুন উপাদান যোগ করা।

PhantomJS তে DOM Manipulation করতে JavaScript ব্যবহার করা হয় এবং এটি মূলত PhantomJS API এর মাধ্যমে পরিচালিত হয়।

DOM Manipulation এর জন্য PhantomJS ব্যবহার করার প্রক্রিয়া:

Step 1: PhantomJS ইনস্টল করা

প্রথমে, আপনার সিস্টেমে PhantomJS ইনস্টল করতে হবে। আপনি PhantomJS এর অফিসিয়াল ওয়েবসাইট থেকে এটি ডাউনলোড করতে পারেন অথবা npm এর মাধ্যমে এটি ইনস্টল করতে পারেন:

npm install phantomjs

Step 2: PhantomJS স্ক্রিপ্ট তৈরি করা

এখন, PhantomJS স্ক্রিপ্ট তৈরি করতে হবে। এই স্ক্রিপ্টের মাধ্যমে আপনি একটি ওয়েব পেজ লোড করবেন এবং সেখানে DOM Manipulation করবেন।

Example: PhantomJS দিয়ে DOM Manipulation:

var page = require('webpage').create();  // Create a new page in PhantomJS

// Open a URL
page.open('http://example.com', function(status) {
    if (status === 'success') {
        // DOM Manipulation: Change text content of an element
        page.evaluate(function() {
            var element = document.querySelector('h1');  // Select the first h1 element
            if (element) {
                element.textContent = 'PhantomJS DOM Manipulation';  // Change text
            }
        });

        // Capture screenshot after manipulation
        page.render('screenshot.png');
    }
    phantom.exit();  // Exit PhantomJS
});

Explanation:

  1. PhantomJS স্ক্রিপ্টে:
    • require('webpage').create() এর মাধ্যমে একটি নতুন PhantomJS page তৈরি করা হয়।
    • page.open() ব্যবহার করে ওয়েব পেজ লোড করা হয়। যখন পেজ সফলভাবে লোড হয়, তখন একটি কলব্যাক ফাংশন চালু হয়।
    • page.evaluate() এর মাধ্যমে, JavaScript কোড সরাসরি পেজের মধ্যে চালানো হয়।
    • এখানে document.querySelector('h1') দিয়ে একটি h1 ট্যাগ সিলেক্ট করা হয় এবং তার textContent পরিবর্তন করা হয়।
  2. Screenshot:
    • page.render('screenshot.png') এর মাধ্যমে পেজের একটি স্ক্রিনশট নেওয়া হয়, যা আপনার ডিবাগিং এবং পরীক্ষার জন্য সহায়ক হতে পারে।
  3. phantom.exit():
    • PhantomJS স্ক্রিপ্টের শেষে phantom.exit() কল করে স্ক্রিপ্টটি সম্পূর্ণ করা হয় এবং PhantomJS প্রক্রিয়া বন্ধ করা হয়।

Step 3: PhantomJS স্ক্রিপ্ট চালানো

এই স্ক্রিপ্টটি চালাতে, আপনি কমান্ড লাইন থেকে PhantomJS এর মাধ্যমে এটি রান করতে পারেন:

phantomjs script.js

এখানে, script.js হল আপনার তৈরি করা PhantomJS স্ক্রিপ্ট। এটি রান করার পর, স্ক্রিপ্টটি নির্দিষ্ট পেজে গিয়ে DOM Manipulation করবে এবং একটি স্ক্রিনশট তৈরি করবে।

DOM Manipulation এর অন্যান্য উদাহরণ:

1. নতুন উপাদান যোগ করা:

page.evaluate(function() {
    var newDiv = document.createElement('div');  // Create a new div element
    newDiv.textContent = 'This is a new div added by PhantomJS!';
    document.body.appendChild(newDiv);  // Append the new div to the body
});

এখানে, PhantomJS একটি নতুন div উপাদান তৈরি করছে এবং সেটি body তে যোগ করছে।

2. একটি উপাদান গোপন করা:

page.evaluate(function() {
    var element = document.querySelector('.ads');  // Select an element with class 'ads'
    if (element) {
        element.style.display = 'none';  // Hide the element
    }
});

এখানে, PhantomJS একটি .ads ক্লাসের উপাদান নির্বাচন করছে এবং তাকে display: none এর মাধ্যমে গোপন করছে।

3. একটি উপাদান অপসারণ করা:

page.evaluate(function() {
    var element = document.querySelector('.ads');  // Select an element with class 'ads'
    if (element) {
        element.parentNode.removeChild(element);  // Remove the element
    }
});

এখানে, PhantomJS একটি .ads ক্লাসের উপাদান নির্বাচন করছে এবং সেটি DOM থেকে সরিয়ে ফেলছে।

PhantomJS দিয়ে DOM Manipulation একটি শক্তিশালী টুল যা ওয়েব স্ক্র্যাপিং, টেস্টিং এবং স্ক্রিনশট গ্রহণের জন্য ব্যবহৃত হয়। আপনি PhantomJS এর মাধ্যমে HTML, CSS এবং JavaScript এর উপর কাজ করতে পারেন, DOM থেকে ডেটা ম্যানিপুলেট করতে পারেন, নতুন উপাদান যোগ করতে পারেন, এবং পুরানো উপাদান সরিয়ে ফেলতে পারেন। PhantomJS স্ক্রিপ্টে page.evaluate() ব্যবহার করে আপনি DOM-এ সরাসরি পরিবর্তন করতে পারেন এবং ওয়েব পেজের অভ্যন্তরে বিভিন্ন ক্রিয়াকলাপ পরিচালনা করতে পারেন।

Content added By
Promotion

Are you sure to start over?

Loading...