首页 > 解决方案 > Selenium Chrome WebDriver 不使用代理

问题描述

我正在使用 Selenium webdriver 打开一个网页,并设置了一个代理供驱动程序使用。代码如下:

PATH = "C:\Program Files (x86)\chromedriver.exe"
PROXY = "212.237.16.60:3128"  # IP:PORT or HOST:PORT

chrome_options = webdriver.ChromeOptions()
chrome_options.add_argument(f'--proxy-server={PROXY}')


proxy = Proxy()
proxy.auto_detect = False
proxy.http_proxy = PROXY
proxy.sslProxy = PROXY
proxy.socks_proxy = PROXY
capabilities = webdriver.DesiredCapabilities.CHROME
proxy.add_to_capabilities(capabilities)

driver = webdriver.Chrome(PATH, chrome_options=chrome_options,desired_capabilities=capabilities)
driver.get("https://whatismyipaddress.com")

问题是 Web 驱动程序没有使用给定的代理,它使用我的正常 IP 访问页面。我已经尝试了在互联网上可以找到的所有类型的代码,但都没有成功。我还尝试直接在我的电脑设置中设置代理,当我打开一个普通的 chrome 页面时它工作正常(那不是代理服务器问题),但是如果我用驱动程序打开一个页面,它仍然使用我的正常 IP 并且不知何故绕过代理。我还尝试更改 IDE (pycharm) 的代理设置,但仍然无法正常工作。我没有想法,有人可以帮助我吗?

标签: pythonseleniumgoogle-chromeselenium-webdriver

解决方案


这应该有效。

代码片段-

from selenium.webdriver.chrome.options import Options

chrome_options = Options()
PROXY = "212.237.16.60:3128"

#add proxy in chrome_options
chrome_options.add_argument(f'--proxy-server={PROXY}')

driver = webdriver.Chrome(PATH,options=chrome_options)

#to check new IP
driver.get("https://api.ipify.org/?format=json")

注意:-chrome_options现在已弃用,您必须options改用


推荐阅读