PhantomJS এর মধ্যে পেজ স্ক্রিনশট নেওয়া

PhantomJS এর বেসিক কনফিগারেশন - ফ্যান্টমজেএস (PhantomJS) - Web Development

248

PhantomJS হল একটি headless browser (যেখানে ব্রাউজারের GUI নেই) যা WebKit ইঞ্জিন ব্যবহার করে রেন্ডারিং এবং স্ক্রিনশট নেওয়া, ওয়েব পেজের টেস্টিং, এবং অন্য অনেক কাজ করতে সহায়তা করে। এটি স্বয়ংক্রিয় স্ক্রিপ্ট চালানোর জন্য ব্যবহৃত হয় এবং বিশেষত ওয়েব স্ক্র্যাপিং, প্রোগ্রামেটিকভাবে ওয়েব পেজের টেস্টিং এবং স্ক্রিনশট/পিডিএফ তৈরি করার জন্য জনপ্রিয়।

PhantomJS এর মধ্যে পেজ স্ক্রিনশট নেওয়া

PhantomJS-এ স্ক্রিনশট নেওয়া খুব সহজ। আপনি JavaScript স্ক্রিপ্টের মাধ্যমে ফ্যান্টমজেএস কমান্ড লাইনে স্ক্রিনশট নেওয়ার নির্দেশ দিতে পারেন।

স্ক্রিনশট নেওয়ার প্রক্রিয়া:

  1. PhantomJS ইনস্টল করা: প্রথমে, আপনাকে PhantomJS ইনস্টল করতে হবে। এটি Node.js এবং অন্যান্য প্যাকেজ ম্যানেজার থেকে ইনস্টল করা যায়।

    অথবা, Homebrew (Mac) ব্যবহার করে ইনস্টল করা যেতে পারে:

    brew install phantomjs
    
  2. JavaScript স্ক্রিপ্ট তৈরি করা: PhantomJS ব্যবহার করে স্ক্রিনশট নেওয়ার জন্য একটি JavaScript স্ক্রিপ্ট তৈরি করতে হবে।

Example: PhantomJS স্ক্রিনশট স্ক্রিপ্ট

// screenshot.js

var page = require('webpage').create();  // Create a new webpage object
var system = require('system');           // Get the system object to read arguments

var url = system.args[1];  // Get the URL from the command line argument
var output = system.args[2];  // Output file name for the screenshot

page.open(url, function(status) {
    if (status === "success") {
        // Take a screenshot and save it to the specified path
        page.render(output);
        console.log('Screenshot taken successfully!');
    } else {
        console.log('Failed to load the page.');
    }
    phantom.exit();  // Exit PhantomJS
});

ব্যবহার:

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

phantomjs screenshot.js https://example.com screenshot.png

Explanation:

  • require('webpage').create(): একটি নতুন পেজ তৈরি করে যা PhantomJS-এ রেন্ডার হবে।
  • page.open(url, callback): একটি URL লোড করে এবং তারপর callback ফাংশন চালায়।
  • page.render(output): এটি পেজের স্ক্রিনশট নেয় এবং output পাথের মাধ্যমে সেভ করে।
  • phantom.exit(): স্ক্রিপ্টটি শেষ হওয়ার পর PhantomJS বন্ধ হয়।

Command Example:

উপরের স্ক্রিপ্টটি চালানোর পর, আপনি কমান্ড লাইনে স্ক্রিনশট গ্রহণ করতে পারবেন:

phantomjs screenshot.js https://example.com screenshot.png

এটি https://example.com পেজের স্ক্রিনশট নিয়ে screenshot.png নামে আপনার বর্তমান ডিরেক্টরিতে সেভ করবে।

অতিরিক্ত অপশন:

  1. পেজ সাইজ কাস্টমাইজ করা: আপনি page.viewportSize ব্যবহার করে পেজের আকার কাস্টমাইজ করতে পারেন।

    page.viewportSize = { width: 1280, height: 1024 };
    

    এই কোডটি স্ক্রিনশট নেওয়ার আগে পেজের আকার 1280x1024 সাইজে সেট করবে।

  2. পেজের বিশেষ অংশের স্ক্রিনশট নেওয়া: আপনি যদি পুরো পেজের পরিবর্তে শুধু নির্দিষ্ট অংশের স্ক্রিনশট নিতে চান, তাহলে clipRect ব্যবহার করতে পারেন।

    page.clipRect = { top: 0, left: 0, width: 800, height: 600 };
    page.render(output);
    

    এটি পেজের একটি 800x600 আকারের অংশের স্ক্রিনশট নিবে।

  3. ডেলেতে স্ক্রিনশট নেওয়া: যদি পেজটি সম্পূর্ণ লোড হতে সময় নেয়, তবে আপনি page.waitFor() ব্যবহার করে কিছু সময় অপেক্ষা করতে পারেন।

    page.open(url, function(status) {
        if (status === "success") {
            setTimeout(function() {
                page.render(output);
                phantom.exit();
            }, 5000);  // Wait for 5 seconds before taking the screenshot
        }
    });
    

    এই স্ক্রিপ্টটি ৫ সেকেন্ড পরে স্ক্রিনশট নেবে, যা পেজের সম্পূর্ণ রেন্ডারিং হতে সহায়তা করবে।

PhantomJS-এ স্ক্রিনশট নেওয়া একটি সহজ প্রক্রিয়া যা JavaScript স্ক্রিপ্টের মাধ্যমে করা যায়। আপনি এটি ওয়েব পেজের স্বয়ংক্রিয় স্ক্রিনশট নেওয়ার জন্য, ওয়েব অ্যাপ্লিকেশন টেস্টিং এবং স্ক্রিনশট রিপোর্টিং তৈরির জন্য ব্যবহার করতে পারেন। এটি আপনার headless browser প্রয়োজনীয়তা পূরণ করার জন্য একটি শক্তিশালী টুল, বিশেষ করে যখন UI টেস্টিং বা স্ক্র্যাপিং প্রয়োজন হয়।

Content added By
Promotion

Are you sure to start over?

Loading...