اسکریپت 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 رخ می‌دهد یا هنگام پیمایش یک وب‌سایت. این دو خرابی می‌توانند به کلاینت‌های شبکه و سیاست‌های پروکسی متفاوت مربوط باشند.

مقالات مرتبط