সেশন খোলার সময় RSelenium ব্রাউজারকে তার প্রক্সি দিন
ব্রাউজার পথের জন্য extraCapabilities ব্যবহার করুন, এবং সেশন প্রোটোকলের প্রত্যাখ্যানকে প্রক্সিতে পৌঁছাতে না পারা ব্রাউজার থেকে আলাদা করুন।
driver$open() এর আগে প্রক্সিটিকে ব্রাউজার সেশন সক্ষমতা হিসেবে সরবরাহ করুন, এমন একটি RSelenium স্থাপনায় যার WebDriver সার্ভার সেশন প্রোটোকল গ্রহণ করে:
browser_proxy <- list(
proxyType = 'manual',
httpProxy = 'proxy.example:8080',
sslProxy = 'proxy.example:8080'
)
driver <- RSelenium::remoteDriver(
remoteServerAddr = 'webdriver.example',
port = 4444L,
browserName = 'chrome',
extraCapabilities = list(proxy = browser_proxy)
)
driver$open()remoteServerAddr WebDriver পরিষেবা চিহ্নিত করে। সক্ষমতাটি বর্ণনা করে ব্রাউজার এরপর কোথায় যায়। শুধু একটি R HTTP প্রক্সি সেটিং সেই ব্রাউজার পথ কনফিগার করে না।
host:port ব্যবহার করুন httpProxy ও sslProxy-এ। পরেরটি HTTPS গন্তব্য নির্বাচন করে; এটি TLS-সুরক্ষিত প্রক্সি শ্রোতা বোঝায় না। HTTP প্রক্সি তালিকা থেকে একটি পাবলিক HTTP প্রার্থী এই ক্ষেত্রগুলির জন্য হোস্ট ও পোর্ট দেয়, যদি ব্রাউজার হোস্ট সেখানে পৌঁছাতে পারে।
কোন ব্যর্থতা আগে ঘটেছে?
যদি সেশন খোলা প্রত্যাখ্যাত হয়, প্রক্সি এন্ডপয়েন্ট বদলানোর আগে প্রোটোকল সামঞ্জস্য পরীক্ষা করুন। RSelenium-এর remoteDriver উৎস পুরোনো desiredCapabilities পাঠায়; যেকোনো বর্তমান WebDriver সার্ভার পথ পরীক্ষা করার জন্য ব্রাউজার তৈরির আগেই সেই ফরম্যাট প্রত্যাখ্যান করতে পারে।
যদি সেশন খোলে কিন্তু নেভিগেশন ব্যর্থ হয়, প্রকৃত ব্রাউজার হোস্ট থেকে পৌঁছানোযোগ্যতা পরীক্ষা করুন। কন্টেইনার বা Grid নোডের জন্য localhost মানে সেই নোড, R ওয়ার্কস্টেশন নয়।