克服Selenium 基本驗證的挑戰
當嘗試使用Selenium WebDriver 透過URL 存取受基本身分驗證保護的網頁時,使用者可能會遇到來自Google Chrome 的關於阻止包含嵌入式憑證的子資源請求的警告。此警告是由於 Chrome 棄用了對子資源請求中嵌入憑證的支援。
要解決此挑戰,可以採用Selenium 進行基本身份驗證的替代方法:
而不是嵌入憑證在URL 中,它們可以單獨提供。例如:
driver.get("http://localhost:8080"); driver.get("http://admin:admin@localhost:8080/project");
另一個解決方案是建立一個自動設定的自訂擴充需要時提供必要的憑證。這可以使用webdriver.ChromeOptions 類別並將擴充檔案加入選項中來實現:
options = webdriver.ChromeOptions() options.add_extension(r'C:\dev\credentials.zip')
WebDriver 提供了許多可用於設定驗證的功能。例如,要設定HTTP 基本驗證的使用者名稱和密碼:
capabilities = webdriver.DesiredCapabilities.CHROME capabilities['credentials'] = {'username': 'admin', 'password': 'admin'} driver = webdriver.Chrome(desired_capabilities=capabilities)透過探索這些替代方法,使用者可以成功使用Selenium 執行基本驗證,即使在子資源請求中的嵌入式憑證已棄用之後也是如此。給定的解決方案在處理自動化測試中的身份驗證挑戰時允許靈活性和自訂。
以上是儘管 Chrome 已棄用嵌入式憑證,我該如何使用 Selenium 成功執行基本驗證?的詳細內容。更多資訊請關注PHP中文網其他相關文章!