כאשר תהליך הבדיקה של C# זקוק לפרוקסי קדמי כדי להגיע לשירות Selenium מרחוק, חברו System.Net.WebProxy למבצע פקודות ה-HTTP שלו:

using System;
using System.Net;
using OpenQA.Selenium.Remote;

var commandProxy = new WebProxy("http://proxy.example:8080")
{
    Credentials = proxyCredentials
};
var executor = new HttpCommandExecutor(
    remoteWebDriverUri, TimeSpan.FromSeconds(60))
{
    Proxy = commandProxy
};

using var driver = new RemoteWebDriver(
    executor, browserOptions.ToCapabilities());

‏proxyCredentials הוא חשבון הפרוקסי המיועד, remoteWebDriverUri הוא ה-URI המוגדר של השירות המרוחק, ו-browserOptions מכיל את יכולות הדפדפן והספק הקיימות. השמיטו את Credentials כאשר המתווך אינו דורש אימות. במקרה כזה, רשימת פרוקסי HTTP מספקת מועמדים אם שירות ה-WebDriver המרוחק ציבורי והגישה דרך פרוקסי ציבורי מותרת.

הגדירו את מאפיין המבצע לפני בניית RemoteWebDriver. יצירת הדרייבר מתחילה את חילופי ההפעלה המרוחקת; המבצע יוצר את לקוח ה-HTTP הבסיסי שלו כאשר הוא נדרש לראשונה. שינוי המאפיין מאוחר יותר אינו דרך אמינה להחליף את המטפל שכבר משתמש בו אותו לקוח.

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

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

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