python - 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) 的代理设置,但仍然无法正常工作。我没有想法,有人可以帮助我吗?
解决方案
这应该有效。
代码片段-
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
改用
推荐阅读
- amazon-web-services - 如何使用 SAM 通过 API Gateway 配置异步 lambda 调用?
- r - 对唯一值应用矢量化函数并展开
- asp.net-mvc - 我的数据库中客户端和用户之间的 SignalR 连接
- arrays - 如何使用 Ruby 连接数组中的字符串
- node.js - SyntaxError: Unexpected token / in JSON at position 324
- jquery - 删除特定的 html jquery
- python - 用户警告:在保存文件中找不到训练配置:模型*未*编译。手动编译
- tableau-api - Tableau 中的默认参数值
- pyspark - 我们可以从 aws Glue PySpark 作业触发 AWS Lambda 函数吗?
- html - 一致的社交媒体按钮