วิธีจัดการการรับรองความถูกต้องของพร็อกซีใน Selenium ไดรเวอร์เว็บ
⚡ สรุปอย่างชาญฉลาด
การตรวจสอบสิทธิ์พร็อกซีใน Selenium WebDriver จะจัดการหน้าต่างป๊อปอัพขอข้อมูลรับรองที่ปรากฏขึ้นเมื่อเบราว์เซอร์เชื่อมต่อผ่านพร็อกซีเซิร์ฟเวอร์ที่ปลอดภัย เนื่องจาก Selenium ไม่สามารถใช้งานไดอะล็อกดั้งเดิมได้โดยตรง มีสองวิธีที่ใช้เครื่องมือ AutoIt และการแจ้งเตือนในตัว
พร็อกซี่คืออะไร?
พร็อกซีทำหน้าที่เป็นตัวกลางระหว่างไคลเอนต์ที่ส่งคำขอและเซิร์ฟเวอร์ตอบสนอง การใช้พร็อกซีหลักคือเพื่อรักษาความเป็นส่วนตัวและการห่อหุ้มระหว่างระบบโต้ตอบหลายระบบ
พร็อกซียังสามารถเพิ่มการรักษาความปลอดภัยอีกชั้นหนึ่งบนเว็บโดยทำหน้าที่เป็นไฟร์วอลล์ระหว่างไคลเอนต์และเว็บเซิร์ฟเวอร์ โดยเฉพาะอย่างยิ่งจะใช้เมื่อเว็บไซต์ที่ลูกค้าใช้ต้องมีป้ายกำกับว่าอนุญาตหรือบล็อกตามเนื้อหาของเว็บไซต์
กระบวนการนี้เรียกว่า 'การกรองเนื้อหา' และมักใช้ในสถาบันการศึกษา สำนักงานบริษัท ฯลฯ การกรองเนื้อหาสามารถทำได้ง่าย ๆ ด้วยความช่วยเหลือของพร็อกซี ในแง่อินเทอร์เน็ต สามารถใช้พรอกซีเป็นเซิร์ฟเวอร์แยกต่างหากซึ่งอยู่ระหว่างเครื่องไคลเอนต์และเว็บจริงหรือเซิร์ฟเวอร์ฐานข้อมูลที่ตอบสนอง
ความแตกต่างระหว่าง SOCKS และ HTTP Proxy
| ถุงเท้า | พร็อกซี HTTP |
|---|---|
| SOCKS ย่อมาจาก ซ็อกเก็ตที่ปลอดภัย โดยทั่วไปจะใช้เป็นไฟร์วอลล์ระหว่างไคลเอนต์และเซิร์ฟเวอร์ | HTTP Proxy ยังสามารถใช้เป็นไฟร์วอลล์ระหว่างไคลเอ็นต์และเซิร์ฟเวอร์ได้ แต่สามารถใช้ได้เฉพาะกับคำขอ HTTP เท่านั้น |
| SOCKS ไม่ตีความข้อมูลที่มีการแลกเปลี่ยน | HTTP Proxy ตีความข้อมูลที่มีการแลกเปลี่ยนระหว่างไคลเอนต์และเซิร์ฟเวอร์ |
| ช้าลงในแง่ของประสิทธิภาพ | ประสิทธิภาพที่ดีกว่าเมื่อเทียบกับ SOCKS |
วิธีจัดการพรอกซีใน Selenium เว็บไดรเวอร์ใน Chrome
การตรวจสอบสิทธิ์ HTTP Proxy ด้วย Selenium ใน Chrome สามารถจัดการได้โดยใช้วิธีการต่อไปนี้
- การใช้เครื่องมือ AutoIt
- การใช้การแจ้งเตือน
การใช้เครื่องมือ AutoIt
AutoIt เป็นเครื่องมือจากบริษัทภายนอกที่ใช้สำหรับการทำงานอัตโนมัติบนเดสก์ท็อปของ Windows Selenium จัดการเฉพาะป๊อปอัปและหน้าต่างบนเว็บเท่านั้น ไม่สามารถจัดการการควบคุมระบบปฏิบัติการได้โดยใช้ Selenium.
ซึ่งจำเป็นต้องใช้เครื่องมือภายนอกของบุคคลที่สาม เช่น AutoIt เพื่อทำการผสานรวมเข้าด้วยกัน Seleniumด้วยเหตุนี้ AutoIt จึงถูกใช้บ่อยที่สุดสำหรับการจัดการการอัปโหลดไฟล์และการดาวน์โหลดไฟล์บนเว็บไซต์
ในการใช้งาน AutoIt คุณต้องดาวน์โหลดและติดตั้งซอฟต์แวร์ AutoIt บนเครื่องคอมพิวเตอร์ของคุณก่อน
การดาวน์โหลดและติดตั้งโปรแกรม AutoIt นั้นได้อธิบายไว้แล้วในหัวข้อนี้ บทความ.
เปิดโปรแกรม – เครื่องมือ Autoit – โปรแกรมแก้ไขสคริปต์ SciTE และเพิ่มสคริปต์ AutoIt ที่กล่าวถึงด้านล่างในตัวแก้ไข Autoit และบันทึกเป็น 'ProxyAuthentication.au3' ในระบบของคุณ
รวบรวมไฟล์และแปลงเป็น 'ProxyAuthentication.exe'
In Eclipseเพิ่มไฟล์ AutoIt ลงไป Selenium สคริปต์และเรียกใช้
ด้านล่างนี้คือสคริปต์ AutoIt สำหรับการตรวจสอบสิทธิ์พร็อกซี HTTP
Send("guru99{ENTER}") Send("guru99{ENTER}")
คุณต้องส่งไฟล์ AutoIt เพื่อเรียกใช้งาน Selenium webdriver โดยใช้โค้ดด้านล่าง
แหล่ง Code:
package Guru99Demo; import java.io.IOException; import org.openqa.selenium.WebDriver; import org.openqa.selenium.chrome.ChromeDriver; public class AutoItDemo { public static void main(String[] args) throws IOException { System.setProperty("webdriver.chrome.driver", "D:\\ chromedriver.exe");; WebDriver driver = new ChromeDriver(); driver.get("https://demo.guru99.com/test/basic_auth.php"); //Passing the AutoIt Script to Selenium Runtime.getRuntime().exec("D:\\Data_Personal\\ProxyAuthentication.exe"); } }
Code คำอธิบาย:
- ในขั้นตอนแรก คุณกำลังเริ่มต้นอินสแตนซ์ของไดรเวอร์ Chrome โดยการตั้งค่าคุณสมบัติของระบบให้ชี้ไฟล์ chromedriver.exe
- ในขั้นตอนที่สอง คุณจะทำการเริ่มต้นอ็อบเจ็กต์ของเว็บไดรเวอร์และส่งเว็บไซต์เข้าไป URL โดยใช้เมธอด get
- สุดท้ายนี้ คุณกำลังส่งชื่อผู้ใช้และรหัสผ่านไปยังป๊อปอัพการตรวจสอบสิทธิ์ของ HTTP Proxy โดยใช้ไฟล์สคริปต์ AutoIt
Code Output:

การใช้การแจ้งเตือน
การแจ้งเตือนนั้นเรียบง่ายและมีฟีเจอร์ในตัวที่จัดทำโดย Selenium ไดรเวอร์เว็บ คุณสามารถจัดการป๊อปอัปการรับรองความถูกต้องของพร็อกซีได้โดยใช้ Selenium ไดรเวอร์เว็บโดยสลับไปที่การแจ้งเตือนการตรวจสอบสิทธิ์พร็อกซี HTTP และส่งชื่อผู้ใช้และรหัสผ่านไปยังการแจ้งเตือนโดยตรง ด้วยความช่วยเหลือของวิธีส่งคีย์
ตัวอย่าง:
สถานการณ์การทดสอบ:
จัดการป๊อปอัปการตรวจสอบสิทธิ์ HTTP Proxy บนเว็บไซต์: https://demo.guru99.com/test/basic_auth.php โดยใช้การแจ้งเตือนใน Selenium ไดรเวอร์เว็บ
ตัวอย่างซอร์สโค้ด:
package Guru99Demo; import java.io.IOException; import org.openqa.selenium.WebDriver; import org.openqa.selenium.chrome.ChromeDriver; public class AlertsDemo { public static void main(String args[]) throws IOException { System.setProperty("webdriver.chrome.driver", "D:\\Data_Personal\\Software\\chromedriver_win32\\chromedriver.exe");; WebDriver driver = new ChromeDriver(); driver.get("https://demo.guru99.com/test/basic_auth.php"); // Handling Username alert driver.switchTo().alert().sendKeys("guru99"); driver.switchTo().alert().accept(); // Handling Password alert driver.switchTo().alert().sendKeys("guru99"); driver.switchTo().alert().accept(); } }
Code เอาท์พุต
การตรวจสอบสิทธิ์พร็อกซีสำเร็จแล้ว
Code คำอธิบาย:
- เริ่มแรก คุณกำลังสร้างอินสแตนซ์ของไดรเวอร์ Chrome โดยตั้งค่าคุณสมบัติ webdriver ให้ชี้ตำแหน่งของไฟล์ chromedriver.exe
- จากนั้น คุณกำลังเปิด URL ของเว็บไซต์ที่ต้องการโดยการผ่านไป URL เป็นพารามิเตอร์ให้กับเมธอด driver.get()
- เคย URL เมื่อเปิดการแจ้งเตือนแล้ว คุณกำลังเปลี่ยนไปใช้การแจ้งเตือนชื่อผู้ใช้และส่งชื่อผู้ใช้ – guru99 จากนั้นคุณคลิกปุ่ม OK ในการแจ้งเตือนโดยใช้วิธี alert.accept
- จากนั้น คุณกำลังเปลี่ยนไปใช้การแจ้งเตือนรหัสผ่านและส่งรหัสผ่าน – guru99 จากนั้นคุณคลิกที่ปุ่มตกลงบนการแจ้งเตือนโดยใช้วิธี alert.accept

