如何设置chrome webdriver版本2.36的代理?(python)

时间:2018-03-23 15:31:31

标签: python selenium-chromedriver

我已经制作了一个chrome webdriver python程序,我试图设置代理。我有这个错误:

无法访问此网站 https://www.amazon.com/Nokia-Body-Composition-Wi-Fi-Scale/dp/B071XW4C5Q/ref=sr_1_1/138-3260504-2979110?s=bedbath&ie=UTF8&qid=1520585204&sr=1-1&keywords=-sdfg的网页可能暂时关闭,或者可能已永久移至新的网址。 ERR_NO_SUPPORTED_PROXIES

对于这个程序,我使用的是版本2.36所以我认为会有所不同。今天我必须切换到这个版本,因为以前的版本有一些send_keys方法的问题。我附上了代码。我将不胜感激。

from selenium import webdriver

# set the proxies to hide actual IP

proxies = {
    'http': 'http://210.213.90.61:80',
    'https': 'https://27.111.43.178:8080'
}

chrome_options = webdriver.ChromeOptions()
chrome_options.add_argument('--proxy-server=%s' % proxies)

driver = webdriver.Chrome(executable_path="C:\\Users\Andrei\Downloads\webdriver2\chromedriver.exe",
                          chrome_options=chrome_options)

driver.get('https://www.amazon.com/Nokia-Body-Composition-Wi-Fi-Scale/dp/B071XW4C5Q/ref=sr_1_1/138-3260504-2979110?s=bedbath&ie=UTF8&qid=1520585204&sr=1-1&keywords=-sdfg')

1 个答案:

答案 0 :(得分:1)

根据google-chrome手册页,代理应该像这样指定:

--proxy-server="https=proxy1:80;http=socks4://baz:1080"

所以我认为你想要的是:

proxy_arg = ';'.join('%s=%s' % (k, v) for k, v in proxies.items())
chrome_options.add_argument('--proxy-server="%s"' % proxy_arg)

手册页中的描述说:

  

也可以为其指定单独的代理服务器   不同的URL类型,通过为代理服务器说明符添加前缀   URL说明符:

     

示例:

 --proxy-server="https=proxy1:80;http=socks4://baz:1080"
     Load https://* URLs using the HTTP proxy "proxy1:80". And load http://*
     URLs using the SOCKS v4 proxy "baz:1080".