ସେସନ୍ ଖୋଲିବା ସମୟରେ 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 ୱାର୍କଷ୍ଟେସନ୍ ନୁହେଁ।