1

当我运行时(WinXP OS,Python 2.7)

wd = webdriver.Remote (command_executor = 'http://127.0.0.1:4444/hub', desired_capabilities = webdriver.DesiredCapabilities.INTERNETEXPLORER)

在我的系统中默认有一个代理服务器,并通过代理连接到 selenium-server:4444 a。如何建立该连接直接到 selenium-server:4444。

4

1 回答 1

0

有点晚了,但我今天偶然发现了同样的问题并解决了它,所以对于下一个搜索的人,这里是解决方案:

系统代理设置是从 *_proxy windows 环境变量(http_proxy、https_proxy、ftp_proxy、...)中获取的,因此如果您在那里定义了公司代理,它将被使用。

在 windows 选项中添加一个新的环境变量,或者,如果您使用 intelliJ IDEA,在运行配置设置中:

no_proxy=localhost,127.0.0.1

你会在 python-2.7.6/Lib/urllib.py 中找到原因,大约在第 1387 行:

def proxy_bypass_environment(host):
    """Test if proxies should not be used for a particular host.

    Checks the environment for a variable named no_proxy, which should
    be a list of DNS suffixes separated by commas, or '*' for all hosts.
    """
    no_proxy = os.environ.get('no_proxy', '') or os.environ.get('NO_PROXY', '')
    # '*' is special case for always bypass
    if no_proxy == '*':
        return 1
    # strip port off host
    hostonly, port = splitport(host)
    # check if the host ends with any of the DNS suffixes
    no_proxy_list = [proxy.strip() for proxy in no_proxy.split(',')]
    for name in no_proxy_list:
        if name and (hostonly.endswith(name) or host.endswith(name)):
            return 1
    # otherwise, don't bypass
    return 0
于 2014-02-18T14:23:55.510 回答