我制作了一个 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')
根据 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)
手册页的描述如下:
It is also possible to specify a separate proxy server for different URL types, by prefixing the proxy server specifier with a URL specifier:
Example:
--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".
我是一名优秀的程序员,十分优秀!