网络驱动程序错误 "urllib3.exceptions.ProxySchemeUnknown: Proxy URL had no scheme, should start with http:// or https://"

webdriver error "urllib3.exceptions.ProxySchemeUnknown: Proxy URL had no scheme, should start with http:// or https://"

我是 python 的新手,当我想 运行 遵循简单的代码时,我遇到了错误:

from selenium import webdriver

browser = webdriver.Firefox()
browser.get("http://www.whatsmyip.org")

错误:

Traceback (most recent call last):
  File "C:\Users\Saeed\Desktop\insta bot\instagram.py", line 3, in <module>
    browser = webdriver.Firefox()
  File "C:\Users\Saeed\AppData\Local\Programs\Python\Python310\lib\site-packages\selenium\webdriver\firefox\webdriver.py", line 177, in __init__
    executor = FirefoxRemoteConnection(
  File "C:\Users\Saeed\AppData\Local\Programs\Python\Python310\lib\site-packages\selenium\webdriver\firefox\remote_connection.py", line 27, in __init__
    RemoteConnection.__init__(self, remote_server_addr, keep_alive, ignore_proxy=ignore_proxy)
  File "C:\Users\Saeed\AppData\Local\Programs\Python\Python310\lib\site-packages\selenium\webdriver\remote\remote_connection.py", line 155, in __init__
    self._conn = self._get_connection_manager()
  File "C:\Users\Saeed\AppData\Local\Programs\Python\Python310\lib\site-packages\selenium\webdriver\remote\remote_connection.py", line 143, in _get_connection_manager
    urllib3.ProxyManager(self._proxy_url, **pool_manager_init_args)
  File "C:\Users\Saeed\AppData\Local\Programs\Python\Python310\lib\site-packages\urllib3\poolmanager.py", line 480, in __init__
    raise ProxySchemeUnknown(proxy.scheme)
urllib3.exceptions.ProxySchemeUnknown: Proxy URL had no scheme, should start with http:// or https://

预先感谢您的指导。

当您的客户端代码(您的测试)尝试向 WebDriver 服务发送命令时,会出现此错误。由于它是 REST(通过 http),Selenium 采用在环境变量中为相应协议定义的代理:

def _get_proxy_url(self):
    if self._url.startswith('https://'):
        return os.environ.get('https_proxy', os.environ.get('HTTPS_PROXY'))
    elif self._url.startswith('http://'):
        return os.environ.get('http_proxy', os.environ.get('HTTP_PROXY'))

看起来分配给其中一个(或两个)变量的值不是正确的 URL。

解决方案是:

  • 要么修复 URL
  • 或在 FirefoxOptions
  • 中切换 ignore_local_proxy_environment_variables