Selenium JavaScript: રિમોટ WebDriver આદેશ કનેક્શનને પ્રોક્સી કરો
રિમોટ Selenium એન્ડપોઇન્ટ પર મોકલાયેલા JavaScript WebDriver આદેશો માટે usingWebDriverProxy વાપરો.
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 સત્ર બનાવતી વખતે થાય છે કે વેબસાઇટ પર નેવિગેટ કરતી વખતે, તે ઓળખો. બંને નિષ્ફળતાઓમાં જુદા જુદા નેટવર્ક ક્લાયન્ટ અને જુદી જુદી પ્રોક્સી નીતિઓ સંડોવાયેલી હોઈ શકે છે.