- 1 year ago
Accessing a website behind a proxy server with Google Chrome headless, using Selenium, which works when using Fiddler
To access a website behind a proxy server with Google Chrome headless using Selenium, you need to configure ChromeOptions to set the proxy settings. Here's an example code snippet in Python:
pythonfrom selenium import webdriver
from selenium.webdriver.chrome.options import Options
# Configure proxy server settings
proxy_host = 'proxy.example.com'
proxy_port = 8080
proxy_username = 'username'
proxy_password = 'password'
# Configure Chrome options
chrome_options = Options()
chrome_options.add_argument('--proxy-server=http://{}:{}'.format(proxy_host, proxy_port))
chrome_options.add_argument('--headless') # Run Chrome in headless mode
# Create WebDriver instance
driver = webdriver.Chrome(options=chrome_options)
# Perform your actions with the WebDriver
driver.get('https://www.example.com')
# ...
# Close the WebDriver
driver.quit()
In the code above, replace proxy.example.com
, 8080
, username
, and password
with the appropriate values for your proxy server. The --headless
argument runs Chrome in headless mode, which means it runs without a visible UI.
Make sure you have the Chrome WebDriver executable (chromedriver
) in your system's PATH or provide the path to it explicitly when creating the webdriver.Chrome
instance.
This code should work with Selenium and Chrome headless, allowing you to access websites through a proxy server. However, keep in mind that some proxy servers may require additional authentication or specific settings. Adjust the code accordingly based on your proxy server's requirements.