Безголовый Chrome (с селеном) НЕ МОЖЕТ запрашивать с сервера PROXY, но запросы могут?
Я пытаюсь использовать Chrome вместе с python webdriver + selenium, но, кажется, он не работает, когда я устанавливаю настройки прокси? Вот мой код:
from selenium import webdriver
PROXY = 'http://42.115.88.220:53281'
chromeOptions = webdriver.ChromeOptions()
chromeOptions.add_argument('--proxy-server=%s' % PROXY)
chromeOptions.add_argument("ignore-certificate-errors")
wbe = webdriver.Chrome(options=chromeOptions)
wbe.get("http://icanhazip.com")
Когда я запускаю вышеуказанные коды, браузер выдает мне сообщение об ошибке: "Этот сайт недоступен":
Этот сайт не может быть достигнут
Соединение было сброшено.
Пытаться:
- Проверка соединения
- Проверка прокси и брандмауэра
- Запуск диагностики сети Windows
ERR_CONNECTION_RESET
Некоторые усилия: я пробовал запросы с моим прокси-сервером, и это работает. Так что это не должно быть проблемой моего прокси-сервера.
import requests
proxies = {"http": "http://42.115.88.220:53281"}
r = requests.get("http://icanhazip.com", proxies = proxies)
print (r.status_code)
Это дает мне код ответа 200 и хороший ответ.
Цель: Моя конечная цель - создать веб-сканер с Chrome без головы с помощью PROXY, поэтому сейчас я сначала тестирую его без головы. Но, похоже, что-то не так с этой проблемой ПРОКСИ.
Я был бы очень признателен, если бы кто-нибудь мог помочь мне с этой проблемой!!!
1 ответ
Попробуй это. Мне кажется, что вы использовали неправильный тип безголового режима. Для браузеров Chrome Selenium важно правильно установить аргумент --headless.
from selenium import webdriver
PROXY = 'http://ip:port'
chromeOptions = webdriver.ChromeOptions()
chromeOptions.add_argument('--proxy-server=%s' % PROXY)
chromeOptions.add_argument("ignore-certificate-errors")
# Headless mode for chrome browser
chromeOptions.add_argument('--headless=chrome')
wbe = webdriver.Chrome('your_driver_path_or_service', options=chromeOptions)
wbe.get("http://icanhazip.com")
print(wbe.title)
print(wbe.current_url)
print(wbe.page_source)
# Output:
# http://icanhazip.com/
# <html><head><meta name="color-scheme" content="light dark"></head><body><pre
# style="word-wrap: break-word; white-space: pre-wrap;">your ip
# </pre></body></html>