ਇੱਕ 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 ਸੈਸ਼ਨ ਬਣਾਉਂਦਿਆਂ ਹੁੰਦੀ ਹੈ ਜਾਂ ਵੈੱਬਸਾਈਟ 'ਤੇ ਨੈਵੀਗੇਟ ਕਰਦਿਆਂ। ਦੋਵੇਂ ਨਾਕਾਮੀਆਂ ਵਿੱਚ ਵੱਖ-ਵੱਖ ਨੈੱਟਵਰਕ ਕਲਾਇੰਟ ਅਤੇ ਵੱਖ-ਵੱਖ ਪ੍ਰੌਕਸੀ ਨੀਤੀਆਂ ਸ਼ਾਮਲ ਹੋ ਸਕਦੀਆਂ ਹਨ।

ਸੰਬੰਧਿਤ ਲੇਖ