Как добавить прокси с Selenium в Python - PullRequest
0 голосов
/ 14 июля 2020

В настоящее время я ищу способ добавить прокси в мой код python (с Selenium - Chromedriver), идеальным было бы иметь их в файле и получать их в python в моем основном классе, чтобы начать 1 прокси при каждом перезапуске драйвера, например

Я думал, что это файл json. К сожалению, тесты, которые я запускал, оказались пустыми

Я, очевидно, искал, тестировал разные вещи, к сожалению, ничего очень убедительного, если мне нужен снимок экрана с тем, что я сделал до сих пор, или вопросы по моему вопросу, Я им явно отвечу, заранее спасибо.

1 Ответ

0 голосов
/ 14 июля 2020

Вот как добавить прокси к chrome в селене. источник

from selenium import webdriver

PROXY = "<HOST:PORT>"
webdriver.DesiredCapabilities.CHROME['proxy'] = {
    "httpProxy": PROXY,
    "ftpProxy": PROXY,
    "sslProxy": PROXY,
    "proxyType": "MANUAL",

}

with webdriver.Chrome() as driver:
    # Open URL
    driver.get("https://selenium.dev")

Как вы прокомментировали, я изменил код для загрузки прокси из JSON. Если у вас есть IP и порт вместе как ipport, он будет использовать этот формат. В противном случае он получит IP как ip и порт как port, а затем объедините их.

from selenium import webdriver
from json import load
from random import randint

with open('proxy.json') as proxy_data_file:
    data = load(proxy_data_file)
    
proxy_list = data["proxies"]
proxy = proxy_list[randint(0,len(proxy_list))]
try:
    PROXY = proxy['ipport']
except:
    PROXY = proxy['ip']+':'+proxy['port']

print('Using:',PROXY)

webdriver.DesiredCapabilities.CHROME['proxy'] = {
    "httpProxy": PROXY,
    "ftpProxy": PROXY,
    "sslProxy": PROXY,
    "proxyType": "MANUAL",

}

with webdriver.Chrome() as driver:
    driver.get("https://selenium.dev")
...