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 सत्र बनाते समय होती है या किसी वेबसाइट पर नेविगेट करते समय। दोनों विफलताओं में भिन्न नेटवर्क क्लाइंट और भिन्न प्रॉक्सी नीतियाँ शामिल हो सकती हैं।