Python3, не могу установить прокси socks с помощью chromedriver (целочисленная ошибка типа socks.py) - PullRequest
0 голосов
/ 03 июня 2018

Я пытаюсь использовать прокси socks5 через localhost с chromedriver и python3.5.Тем не менее, я получаю следующую ошибку:

loading
Traceback (most recent call last):
  File "test.py", line 16, in <module>
    browser = webdriver.Chrome(chrome_options=options)
  File "/usr/local/lib/python3.5/dist-packages/selenium/webdriver/chrome/webdriver.py", line 62, in __init__
    self.service.start()
  File "/usr/local/lib/python3.5/dist-packages/selenium/webdriver/common/service.py", line 97, in start
    if self.is_connectable():
  File "/usr/local/lib/python3.5/dist-packages/selenium/webdriver/common/service.py", line 113, in is_connectable
    return utils.is_connectable(self.port)
  File "/usr/local/lib/python3.5/dist-packages/selenium/webdriver/common/utils.py", line 106, in is_connectable
    socket_ = socket.create_connection((host, port), 1)
  File "/usr/lib/python3.5/socket.py", line 702, in create_connection
    sock.connect(sa)
  File "/usr/local/lib/python3.5/dist-packages/socks.py", line 766, in connect
    _BaseSocket.connect(self, proxy_addr)
TypeError: an integer is required (got type str)

Вот код, который я использую.

import time
from datetime import datetime
from selenium import webdriver
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.common.by import By
from selenium.webdriver.support import expected_conditions as EC

options = webdriver.ChromeOptions()
options.add_argument("--proxy-server=socks5://127.0.0.1:9000")

print("loading")
browser = webdriver.Chrome(chrome_options=options)
print("getting url")
browser.get("http://www.atagar.com/echo.php")

Это ошибка в webdriver.py и как он анализирует параметры и отправляетих связать с прокси?Или я что-то здесь не так делаю?

1 Ответ

0 голосов
/ 01 марта 2019

Была похожая проблема.Вот так у меня все заработало.

from selenium import webdriver
from selenium.webdriver.common.proxy import Proxy, ProxyType

options = webdriver.ChromeOptions()

proxy = Proxy()
proxy.proxyType = ProxyType.MANUAL
proxy.autodetect = False
proxy.httpProxy = proxy.sslProxy = proxy.socksProxy = "127.0.0.1:9000"
options.Proxy = proxy
options.add_argument("ignore-certificate-errors")


driver = webdriver.Chrome('/Users/benjamin/Developer/chromedriver', 
                          chrome_options=options) 
...