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 ಫಂಕ್ಷನ್ ಒಳಗೆ ರನ್ ಮಾಡಿ. ಪರೀಕ್ಷಾ ಸೆಷನ್ ಮುಗಿದಾಗ driver ಅನ್ನು ನಿಲ್ಲಿಸಿ.

usingWebDriverProxy JavaScript ಬೈಂಡಿಂಗ್‌ನ HTTP ಸಂಪರ್ಕಗಳನ್ನು ನಿಯಂತ್ರಿಸುತ್ತದೆ. ಅದು Chrome ನ ಪ್ರಾಕ್ಸಿ ಸಾಮರ್ಥ್ಯ ಅಥವಾ Chrome ಲಾಂಚ್ ಆರ್ಗ್ಯುಮೆಂಟ್ ಅನ್ನು ಸೆಟ್ ಮಾಡುವುದಿಲ್ಲ.

ಬ್ರೌಸರ್ ಸಂಚಾರಕ್ಕೂ ಮಧ್ಯವರ್ತಿ ಬೇಕಿದ್ದರೆ, ಉದ್ದೇಶಿಸಿದ Chrome ಆಯ್ಕೆಗಳನ್ನು ಪ್ರತ್ಯೇಕವಾಗಿ ಒದಗಿಸಿ. ಆ ಬ್ರೌಸರ್ ದೂರದ ಯಂತ್ರದಲ್ಲಿ ಚಲಿಸುತ್ತದೆ, ಆದ್ದರಿಂದ ಅದರ ಪ್ರಾಕ್ಸಿ ಎಂಡ್‌ಪಾಯಿಂಟ್ ಅಲ್ಲಿ ತಲುಪಬಹುದಾಗಿರಬೇಕು. ಸ್ಕ್ರಿಪ್ಟ್‌ನ ಯಂತ್ರದಲ್ಲಿನ loopback ವಿಳಾಸವು ದೂರದ ಬ್ರೌಸರ್‌ಗೆ ಲಭ್ಯವಿರುವ loopback ಸೇವೆಯಾಗುವುದಿಲ್ಲ.

ವೈಫಲ್ಯವು WebDriver ಸೆಷನ್ ರಚಿಸುವಾಗ ಸಂಭವಿಸುತ್ತದೆಯೇ ಅಥವಾ ವೆಬ್‌ಸೈಟ್ ನ್ಯಾವಿಗೇಟ್ ಮಾಡುವಾಗ ಸಂಭವಿಸುತ್ತದೆಯೇ ಎಂದು ಗುರುತಿಸಿ. ಈ ಎರಡು ವೈಫಲ್ಯಗಳು ವಿಭಿನ್ನ ನೆಟ್‌ವರ್ಕ್ ಕ್ಲೈಂಟ್‌ಗಳು ಮತ್ತು ವಿಭಿನ್ನ ಪ್ರಾಕ್ಸಿ ನೀತಿಗಳನ್ನು ಒಳಗೊಂಡಿರಬಹುದು.

ಸಂಬಂಧಿತ ಲೇಖನಗಳು