【问题标题】:Selenium Chrome WebDriver doesn't use proxySelenium Chrome WebDriver 不使用代理
【发布时间】:2021-11-13 02:25:58
【问题描述】:

我正在使用 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")

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

【问题讨论】:

    标签: python selenium google-chrome selenium-webdriver


    【解决方案1】:

    这应该可行。

    代码sn-p-

    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

    【讨论】:

    • 您好,谢谢您的回答。不幸的是,我已经尝试过这段代码,但它不起作用。在这一点上,我认为这不是代码问题,而更像是与操作系统或 IDE 有关的问题,但我不知道它可能是什么......
    • 您是否尝试过使用webdriver-manager 包。
    • 我还没试过,我需要做什么?
    • 我会尝试并告诉你,谢谢!
    • 确实很少见。无论如何,它完成了工作:))
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-08-08
    • 1970-01-01
    • 2017-11-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多