首页 > 解决方案 > 尝试使用 selenium 使用代理但无法访问任何 Https 站点

问题描述

尝试使用带有 selenium 的代理打开站点,但该站点是 https 站点,但我无法打开 https 站点

下面是我写的代码:

from selenium import webdriver

PROXY = "159.203.11.15:80" # IP:PORT or HOST:PORT

chrome_options = webdriver.ChromeOptions()
chrome_options.add_argument('--proxy-server=http://%s' % PROXY)
driver = webdriver.Chrome("C:/Users/Shashank/Downloads/chromedriver_win32/chromedriver.exe",chrome_options=chrome_options)

driver.get("https://whatismyipaddress.com/")

注意:当我运行此代码时,浏览器显示“无法访问此站点”消息

标签: python-3.xseleniumselenium-webdriverproxy

解决方案


如果您无法访问该站点,可能是由于未设置 sslProxy,因此您尝试仅使用 http 配置进行访问。也许这会有所帮助:) 将您的代理:端口输入到 httpProxy 和 sslProxy。或者,您可以尝试使用 firefox 或完全不同的代理。

我已经快速浏览了您可能正在使用的代理,它可能只是 HTTP。这意味着您必须找到支持 HTTPS 的其他代理

capabilities = dict( DesiredCapabilities.CHROME )

if not "chromeOptions" in capabilities:
    capabilities['chromeOptions'] = {
        'args' : [],
        'binary' : "",
        'extensions' : [],
        'prefs' : {}
    }

capabilities['proxy'] = {
    'httpProxy' : "%s:%i" %(proxy_address, proxy_port),
    'ftpProxy' : "%s:%i" %(proxy_address, proxy_port),
    'sslProxy' : "%s:%i" %(proxy_address, proxy_port),
    'noProxy' : None,
    'proxyType' : "MANUAL",
    'class' : "org.openqa.selenium.Proxy",
    'autodetect' : False
}

driver = webdriver.Chrome( executable_path="path_to_chrome", desired_capabilities=capabilities, skip_capabilities_update=True )

推荐阅读