סקריפט Selenium ב-JavaScript שולח פקודות WebDriver לשרת המרוחק לפני שהדפדפן של אותו שרת יכול לנווט לשום מקום. אם חיבור הפקודות חייב לעבור דרך פרוקסי HTTP, הגדירו את פרוקסי ה-WebDriver של ה-Builder:

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 שולט בחיבורי ה-HTTP של כריכת ה-JavaScript. הוא אינו מגדיר את יכולת הפרוקסי של Chrome ואינו מוסיף ארגומנט הפעלה של Chrome.

אם גם תעבורת הדפדפן זקוקה למתווך, ספקו את אפשרויות ה-Chrome המיועדות בנפרד. הדפדפן הזה פועל במחשב המרוחק, ולכן נקודת הקצה של הפרוקסי שלו חייבת להיות נגישה שם. כתובת loopback במחשב של הסקריפט אינה אוטומטית שירות loopback הזמין לדפדפן המרוחק.

קבעו אם הכשל מתרחש בזמן יצירת הפעלת WebDriver או בזמן ניווט באתר. שני הכשלים יכולים לכלול לקוחות רשת שונים ומדיניות פרוקסי שונה.

מאמרים קשורים