สคริปต์ 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 ปิดไดรเวอร์เมื่อเซสชันการทดสอบสิ้นสุด

usingWebDriverProxy ควบคุมการเชื่อมต่อ HTTP ของการผูก JavaScript ไม่ได้ตั้งค่า ความสามารถพร็อกซีของ Chrome หรืออาร์กิวเมนต์การเปิด Chrome

หากทราฟฟิกของเบราว์เซอร์ต้องการตัวกลางด้วย ให้ระบุตัวเลือก Chrome ที่ต้องการแยกต่างหาก เบราว์เซอร์นั้นทำงานบนเครื่องระยะไกล ปลายทางพร็อกซีจึงต้องเข้าถึงได้จากที่นั่น ที่อยู่ loopback บนเครื่องของสคริปต์ไม่ใช่บริการ loopback ที่เบราว์เซอร์ระยะไกลใช้ได้โดยอัตโนมัติ

ระบุว่าความล้มเหลวเกิดตอนสร้างเซสชัน WebDriver หรือตอนไปยังเว็บไซต์ ความล้มเหลวทั้งสองอาจเกี่ยวข้องกับไคลเอนต์เครือข่ายและนโยบายพร็อกซีที่ต่างกัน

บทความที่เกี่ยวข้อง