วิธีจัดการการรับรองความถูกต้องของพร็อกซีใน Selenium ไดรเวอร์เว็บ
พร็อกซี่คืออะไร?
พร็อกซีทำหน้าที่เป็นตัวกลางระหว่างไคลเอนต์ที่ส่งคำขอและเซิร์ฟเวอร์ตอบสนอง การใช้พร็อกซีหลักคือเพื่อรักษาความเป็นส่วนตัวและการห่อหุ้มระหว่างระบบโต้ตอบหลายระบบ
พร็อกซียังสามารถเพิ่มการรักษาความปลอดภัยอีกชั้นหนึ่งบนเว็บโดยทำหน้าที่เป็นไฟร์วอลล์ระหว่างไคลเอนต์และเว็บเซิร์ฟเวอร์ โดยเฉพาะอย่างยิ่งจะใช้เมื่อเว็บไซต์ที่ลูกค้าใช้ต้องมีป้ายกำกับว่าอนุญาตหรือบล็อกตามเนื้อหาของเว็บไซต์
กระบวนการนี้เรียกว่า 'การกรองเนื้อหา' และมักใช้ในสถาบันการศึกษา สำนักงานบริษัท ฯลฯ การกรองเนื้อหาสามารถทำได้ง่าย ๆ ด้วยความช่วยเหลือของพร็อกซี ในแง่อินเทอร์เน็ต สามารถใช้พรอกซีเป็นเซิร์ฟเวอร์แยกต่างหากซึ่งอยู่ระหว่างเครื่องไคลเอนต์และเว็บจริงหรือเซิร์ฟเวอร์ฐานข้อมูลที่ตอบสนอง
ความแตกต่างระหว่าง SOCKS และ HTTP Proxy
ถุงเท้า | พร็อกซี HTTP |
---|---|
SOCKS ย่อมาจาก ซ็อกเก็ตที่ปลอดภัย โดยทั่วไปจะใช้เป็นไฟร์วอลล์ระหว่างไคลเอนต์และเซิร์ฟเวอร์ | HTTP Proxy ยังสามารถใช้เป็นไฟร์วอลล์ระหว่างไคลเอ็นต์และเซิร์ฟเวอร์ได้ แต่สามารถใช้ได้เฉพาะกับคำขอ HTTP เท่านั้น |
SOCKS ไม่ตีความข้อมูลที่มีการแลกเปลี่ยน | HTTP Proxy ตีความข้อมูลที่มีการแลกเปลี่ยนระหว่างไคลเอนต์และเซิร์ฟเวอร์ |
ช้าลงในแง่ของประสิทธิภาพ | ประสิทธิภาพที่ดีกว่าเมื่อเทียบกับ SOCKS |
วิธีจัดการพรอกซีใน Selenium เว็บไดรเวอร์ใน Chrome
การตรวจสอบสิทธิ์ HTTP Proxy ด้วย Selenium ใน Chrome สามารถจัดการได้โดยใช้วิธีการต่อไปนี้
- การใช้เครื่องมือ AutoIT
- การใช้การแจ้งเตือน
การใช้เครื่องมือ AutoIT
Auto IT เป็นเครื่องมือของบุคคลที่สามที่ใช้สำหรับการทำงานอัตโนมัติบนเดสก์ท็อปของ Windows ตั้งแต่ Selenium จัดการเฉพาะป๊อปอัปและหน้าต่างบนเว็บเท่านั้น ไม่สามารถจัดการการควบคุมระบบปฏิบัติการได้โดยใช้ Selenium.
ซึ่งจำเป็นต้องใช้เครื่องมือภายนอกภายนอก เช่น Auto IT เพื่อรวมเข้าด้วยกัน Selenium- ด้วยเหตุนี้ Auto IT จึงมักใช้ในการจัดการการอัพโหลดไฟล์และการดาวน์โหลดไฟล์บนเว็บไซต์
หากต้องการใช้ AutoIT คุณต้องดาวน์โหลดและติดตั้งซอฟต์แวร์ AutoIT บนเครื่องของเรา
ดาวน์โหลดการติดตั้ง AutoIT ครอบคลุมอยู่ใน บทความ.
เปิดโปรแกรม – เครื่องมือ Autoit – โปรแกรมแก้ไขสคริปต์ SciTE และเพิ่มสคริปต์ AutoIt ที่กล่าวถึงด้านล่างในตัวแก้ไข Autoit และบันทึกเป็น 'ProxyAuthentication.au3' ในระบบของคุณ
รวบรวมไฟล์และแปลงเป็น 'ProxyAuthentication.exe'
In Eclipseให้เพิ่มไฟล์ Auto IT เข้าไป Selenium สคริปต์และเรียกใช้
ด้านล่างนี้คือสคริปต์ AutoIT สำหรับการตรวจสอบสิทธิ์ HTTP Proxy
Send("guru99{ENTER}") Send("guru99{ENTER}")
คุณต้องส่งไฟล์ Auto IT เพื่อดำเนินการ Selenium webdriver โดยใช้โค้ดด้านล่าง
รหัสแหล่งที่มา:
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"); } }
คำอธิบายรหัส:
- ในขั้นตอนแรก คุณกำลังเริ่มต้นอินสแตนซ์ของไดรเวอร์ Chrome โดยการตั้งค่าคุณสมบัติของระบบให้ชี้ไฟล์ chromedriver.exe
- ในขั้นตอนที่สอง คุณกำลังเริ่มต้นออบเจ็กต์ของไดรเวอร์เว็บและส่ง URL ของเว็บไซต์โดยใช้วิธี get
- สุดท้ายนี้ คุณกำลังส่งชื่อผู้ใช้และรหัสผ่านไปยังป๊อปอัปการตรวจสอบสิทธิ์ HTTP Proxy โดยใช้ไฟล์สคริปต์ AutoIT
รหัสเอาท์พุท:
การใช้การแจ้งเตือน
การแจ้งเตือนนั้นเรียบง่ายและมีฟีเจอร์ในตัวที่จัดทำโดย 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(); } }
รหัสเอาท์พุท
การตรวจสอบสิทธิ์พร็อกซีสำเร็จแล้ว
คำอธิบายรหัส:
- เริ่มแรก คุณกำลังสร้างอินสแตนซ์ของไดรเวอร์ Chrome โดยตั้งค่าคุณสมบัติ webdriver ให้ชี้ตำแหน่งของไฟล์ chromedriver.exe
- จากนั้น คุณกำลังเปิด URL ของเว็บไซต์ที่ต้องการโดยส่ง URL เป็นพารามิเตอร์ไปยังเมธอด driver.get()
- เมื่อเปิด URL คุณจะเปลี่ยนไปใช้การแจ้งเตือนชื่อผู้ใช้และส่งชื่อผู้ใช้ – guru99 จากนั้นคุณคลิกที่ปุ่มตกลงบนการแจ้งเตือนโดยใช้วิธี alert.accept
- จากนั้น คุณกำลังเปลี่ยนไปใช้การแจ้งเตือนรหัสผ่านและส่งรหัสผ่าน – guru99 จากนั้นคุณคลิกที่ปุ่มตกลงบนการแจ้งเตือนโดยใช้วิธี alert.accept
สรุป
- พร็อกซีทำหน้าที่เป็นตัวกลางระหว่างไคลเอนต์ที่ส่งคำขอและเซิร์ฟเวอร์ตอบสนอง การใช้พรอกซีขั้นพื้นฐานคือการรักษาความเป็นส่วนตัวและ encapsulation ระหว่างระบบโต้ตอบหลายระบบ
- การตรวจสอบสิทธิ์ HTTP Proxy ด้วย Selenium ใน Chrome สามารถจัดการได้โดยใช้วิธีการต่อไปนี้
- การส่งชื่อผู้ใช้และรหัสผ่านใน URL ของเว็บไซต์
- การใช้เครื่องมือ AutoIT
- การใช้การแจ้งเตือน
- จากสามวิธีข้างต้น การใช้การแจ้งเตือนเป็นวิธีที่มีประสิทธิภาพมากที่สุดในการจัดการการตรวจสอบสิทธิ์ HTTP Proxy Selenium ไดรเวอร์เว็บ