এই ত্রুটি বার্তা ...
org.openqa.selenium.WebDriverException: unknown error: DevToolsActivePort file doesn't exist
... ইঙ্গিত দেয় যে ক্রোমড্রাইভার একটি নতুন ওয়েব ব্রাউজার অর্থাৎ ক্রোম ব্রাউজার শুরু করতে / উত্সাহিত করতে অক্ষম ছিল সেশন ।
আপনার কোড ট্রায়াল এবং সমস্ত বাইনারিগুলির সংস্করণ তথ্য আমাদের কী ভুল হচ্ছে সে সম্পর্কে কিছুটা ইঙ্গিত দিত।
তবে যুক্ত হিসাবে - ডিজেবল-ডেভেল-শ্ম-ব্যবহার অনুসারে ডিফল্ট লঞ্চ পতাকাগুলিতে যুক্তি যুক্ত করা যুক্তি --disable-dev-shm-usage
অস্থায়ীভাবে সমস্যার সমাধান করবে।
আপনি যদি কোনও নতুন ক্রোম ব্রাউজার সেশন শুরু করতে / প্রসারিত করতে চান তবে আপনি নিম্নলিখিত সমাধানটি ব্যবহার করতে পারেন:
System.setProperty("webdriver.chrome.driver", "C:\\path\\to\\chromedriver.exe");
ChromeOptions options = new ChromeOptions();
options.addArguments("start-maximized"); // open Browser in maximized mode
options.addArguments("disable-infobars"); // disabling infobars
options.addArguments("--disable-extensions"); // disabling extensions
options.addArguments("--disable-gpu"); // applicable to windows os only
options.addArguments("--disable-dev-shm-usage"); // overcome limited resource problems
options.addArguments("--no-sandbox"); // Bypass OS security model
WebDriver driver = new ChromeDriver(options);
driver.get("https://google.com");
নিষ্ক্রিয়-দেব-shm-ব্যবহারের
বেস_সুইচস.সি.সি অনুযায়ী disable-dev-shm-usage
কেবল লিনাক্স ওএসে বৈধ বলে মনে হচ্ছে :
#if defined(OS_LINUX) && !defined(OS_CHROMEOS)
// The /dev/shm partition is too small in certain VM environments, causing
// Chrome to fail or crash (see http://crbug.com/715363). Use this flag to
// work-around this issue (a temporary directory will always be used to create
// anonymous shared memory files).
const char kDisableDevShmUsage[] = "disable-dev-shm-usage";
#endif
আলোচনায় / dev / shm এর পরিবর্তে / tmp ব্যবহারের বিকল্প যুক্ত করুন ডেভিড উল্লেখ করেছেন:
আমি মনে করি এটি কীভাবে / dev / shm এবং / tmp লাগানো হয় তার উপর নির্ভর করবে। যদি উভয়কেই tmpfs হিসাবে স্থাপন করা হয় তবে আমি ধরে নিচ্ছি যে কোনও পার্থক্য থাকবে না। যদি কোনও কারণে / tmp টি tmpfs হিসাবে ম্যাপ করা না থাকে (এবং আমি মনে করি systemd দ্বারা ডিফল্টরূপে tmpfs হিসাবে ম্যাপ করা থাকে), বেনামে ভাগ করা ফাইল তৈরি করার সময় ক্রোম ভাগ করা মেমরি পরিচালনা সর্বদা মেমরিতে ফাইলগুলি ম্যাপ করে, তাই সেই ক্ষেত্রেও এমনটি হওয়া উচিত নয় অনেক পার্থক্য। আমার ধারণা আপনি পতাকাটি সক্ষম করে টেলিমেট্রি পরীক্ষা করতে বাধ্য করতে পারেন এবং দেখুন এটি কীভাবে চলে।
কেন ডিফল্টরূপে ব্যবহার করবেন না, এটি ভাগ করা মেমরি টিম দ্বারা চালিত হয়েছিল, আমি অনুমান করি যে এটি ডিফল্টরূপে ভাগ করে নেওয়া মেমরির জন্য / dev / shm ব্যবহার করা উচিত।
শেষ পর্যন্ত এগুলি সমস্তই স্মরণে ব্যবহার করা উচিত, তবে আমি মনে করি না যে এটি খুব শীঘ্রই ঘটতে চলেছে, যেহেতু এটি ক্রোম মেমরি পরিচালনার উল্লেখযোগ্যভাবে রিফ্যাক্টরিংয়ের প্রয়োজন হবে।
Outro
স্যান্ডবক্সের গল্পটির লিঙ্কটি এখানে ।