Handling Basic Authentication in Selenium without URL Credentials
When attempting basic authentication using Selenium, the provided code snippet using embedded credentials in the URL can no longer be used due to the deprecated support in Google Chrome. However, there are alternative approaches available.
Accessing Domain
One option is to split the authentication process into two steps:
driver.get("http://admin:admin@localhost:8080"); driver.get("http://localhost:8080/project");
This separating authentication from accessing the resource can still work effectively.
Chrome Extension
Another method involves creating a Chrome extension that automatically sets the required credentials. This requires creating a zip file containing the extension's code, which can be added to the ChromeOptions:
options = webdriver.ChromeOptions() options.add_extension(r'C:\dev\credentials.zip')
A sample extension can be found at https://gist.github.com/florentbr/25246cd9337cebc07e2bbb0b9bf0de46.
The above is the detailed content of How to Handle Basic Authentication in Selenium without Embedding Credentials in the URL?. For more information, please follow other related articles on the PHP Chinese website!