Я наткнулся на этот вопрос во время поиска прокси-решения socks5. Когда я использовал реализацию из документации JsonWireProtocol с использованием socksProxy
свойство, я всегда получал следующую ошибку:
message: 'unknown error: cannot parse capability: proxy from unknown error:
proxyType is \'manual\' but no manual proxy capabilities were found
Использование прокси socks5, настроенного через файл proxy.pac - proxyType: 'pac'
с использованием proxyAutoconfigUrl
работало без проблем. Но это не подходило для моего варианта использования.
Немного повозившись, я наконец нашел два решения этой проблемы:
- Использование аргументов CLI для chromedriver
desiredCapabilities: {
browserName: 'chrome',
/* … */
chromeOptions: {
args: [
'--proxy-server=socks5://proxy_url:proxy_port'
]
}
}
*edit: похоже, что это было удалено
2. Использование свойства sslProxy
Поскольку socks-прокси теоретически является не чем иным, как туннелем ssl, я подумал, что могу дать этому свойству другое пытаться. Решение, благодаря которому оно наконец заработало, выглядело так:
desiredCapabilities: {
browserName: 'chrome',
/* … */
proxy: {
proxyType: 'manual',
sslProxy: 'socks5://proxy_url:proxy_port'
}
}
Надеюсь, что этот ответ поможет всем, кто ищет помощь в отношении прокси socks5. :)
Но более важно, чтобы chromedriver правильно реализовывал JsonWireProtocol в будущем.
person
TheBay0r
schedule
30.01.2017