একটি JavaScript Selenium স্ক্রিপ্ট রিমোট সার্ভারের ব্রাউজার যেকোনো জায়গায় যাওয়ার আগেই WebDriver কমান্ড পাঠায়। যদি কমান্ড সংযোগকে HTTP প্রক্সির মধ্য দিয়ে যেতে হয়, Builder-এর WebDriver প্রক্সি কনফিগার করুন:

const { Builder, Browser } = require("selenium-webdriver");

const driver = await new Builder()
  .forBrowser(Browser.CHROME)
  .usingServer(gridUrl)
  .usingWebDriverProxy("http://proxy.example.net:8080")
  .build();

gridUrl হলো আসল Selenium সার্ভার বা হোস্ট করা WebDriver এন্ডপয়েন্ট। এমন একটি সর্বজনীনভাবে পৌঁছানো যায় এমন এন্ডপয়েন্টের জন্য যেখানে এই রুট অনুমোদিত, HTTP প্রক্সি তালিকা usingWebDriverProxy-এর জন্য প্রার্থী জোগায়। ফ্র্যাগমেন্টটি একটি async CommonJS ফাংশনের ভিতরে চালান। পরীক্ষার সেশন শেষ হলে ড্রাইভার বন্ধ করুন।

usingWebDriverProxy JavaScript বাইন্ডিংয়ের HTTP সংযোগ নিয়ন্ত্রণ করে। এটি Chrome-এর প্রক্সি সক্ষমতা বা Chrome চালু করার আর্গুমেন্ট সেট করে না।

যদি ব্রাউজার ট্র্যাফিকেরও একটি মধ্যস্থতাকারীর প্রয়োজন হয়, তবে অভীষ্ট Chrome অপশনগুলো আলাদাভাবে দিন। ওই ব্রাউজারটি রিমোট মেশিনে চলে, তাই তার প্রক্সি এন্ডপয়েন্ট সেখানে পৌঁছানোযোগ্য হতে হবে। স্ক্রিপ্টের মেশিনে থাকা একটি loopback ঠিকানা স্বয়ংক্রিয়ভাবে রিমোট ব্রাউজারের জন্য উপলব্ধ loopback পরিষেবা নয়।

ব্যর্থতা WebDriver সেশন তৈরির সময় ঘটছে না ওয়েবসাইটে নেভিগেট করার সময়, তা চিহ্নিত করুন। দুটি ব্যর্থতায় ভিন্ন নেটওয়ার্ক ক্লায়েন্ট ও ভিন্ন প্রক্সি নীতি জড়িত থাকতে পারে।

সম্পর্কিত নিবন্ধ