Selenium python proxy не работает страница
Изучаю selenium есть вот такой код:
print("введите просто название без .txt")
txter = input("Введите откуда брать пароли и логины и тд: ")
txt = txter+'.txt'
f = open(txt)
User_Agent = f.readline()
if User_Agent == "\n":
print("впишите User-Agent в файл")
else:
print("")
ninja = User_Agent
proxy_host = f.readline()
if proxy_host == "\n":
print("Кажется я должен работать без прокси...")
option = webdriver.FirefoxOptions()
option.set_preference("dom.webdriver.enabled", False)
option.set_preference("general.useragent.override", ninja)
driver = webdriver.Firefox(options=option)
else:
print("Кажется я должен рабоать с прокси...")
proxy_port = f.readline()
proxy_login = f.readline()
proxy_password = f.readline()
if proxy_login == "\n":
print("Кажется нету логина от прокси...")
print("Не советуем использовать бесплатные прокси!")
if proxy_password == "\n":
print("Кажется нету пароля от прокси...")
PROXY_HOST=proxy_host
PROXY_PORT=proxy_port
fp = webdriver.FirefoxProfile()
fp.set_preference('network.proxy.type', 1)
fp.set_preference('network.proxy.http', PROXY_HOST)
fp.set_preference('network.proxy.http_port', PROXY_PORT)
fp.set_preference('network.proxy.https', PROXY_HOST)
fp.set_preference('network.proxy.https_port', PROXY_PORT)
fp.set_preference('network.proxy.ftp', PROXY_HOST)
fp.set_preference('network.proxy.ftp_port', PROXY_PORT)
fp.set_preference('network.proxy.ssl', PROXY_HOST)
fp.set_preference('network.proxy.ssl_port', PROXY_PORT)
fp.set_preference('network.proxy.no_proxies_on', '')
option = webdriver.FirefoxOptions()
option.set_preference("dom.webdriver.enabled", False)
option.set_preference("general.useragent.override", ninja)
driver = webdriver.Firefox(options=option, firefox_profile = fp)
else:
print("Здесь что-то не так!")
sys.exit()
else:
proxy_options = {
"proxy": {
"https": f"http://{proxy_login}:{proxy_password}@"+proxy_host+":"+proxy_port
}
}
option = webdriver.FirefoxOptions()
option.set_preference("dom.webdriver.enabled", False)
option.set_preference("general.useragent.override", ninja)
driver = webdriver.Firefox(options=option, seleniumwire_options=proxy_options)
print("OK")
driver.get('https://browser-info.ru/')
а в CMD пишет:
Traceback (most recent call last):
File "iBot.py", line 604, in <module>
menu()
File "iBot.py", line 157, in menu
driver.get('https://browser-info.ru/')
File "C:\Python\lib\site-packages\selenium\webdriver\remote\webdriver.py", line 333, in get
self.execute(Command.GET, {'url': url})
File "C:\Python\lib\site-packages\selenium\webdriver\remote\webdriver.py", line 321, in execute
self.error_handler.check_response(response)
File "C:\Python\lib\site-packages\selenium\webdriver\remote\errorhandler.py", line 242, in check_response
raise exception_class(message, screen, stacktrace)
selenium.common.exceptions.WebDriverException: Message: Reached error page: about:neterror?e=redirectLoop&u=https%3A//browser-info.ru/&c=UTF-8&d=Firefox%20%D0%BE%D0%BF%D1%80%D0%B5%D0%B4%D0%B5%D0%BB%D0%B8%D0%BB%2C%20%D1%87%D1%82%D0%BE%20%D1%81%D0%B5%D1%80%D0%B2%D0%B5%D1%80%20%D0%BF%D0%B5%D1%80%D0%B5%D0%BD%D0%B0%D0%BF%D1%80%D0%B0%D0%B2%D0%BB%D1%8F%D0%B5%D1%82%20%D0%B7%D0%B0%D0%BF%D1%80%D0%BE%D1%81%20%D0%BD%D0%B0%20%D1%8D%D1%82%D0%BE%D1%82%20%D0%B0%D0%B4%D1%80%D0%B5%D1%81%20%D1%82%D0%B0%D0%BA%D0%B8%D0%BC%20%D0%BE%D0%B1%D1%80%D0%B0%D0%B7%D0%BE%D0%BC%2C%20%D1%87%D1%82%D0%BE%20%D0%BE%D0%BD%20%D0%BD%D0%B8%D0%BA%D0%BE%D0%B3%D0%B4%D0%B0%20%D0%BD%D0%B5%20%D0%B7%D0%B0%D0%B2%D0%B5%D1%80%D1%88%D0%B8%D1%82%D1%81%D1%8F.
Ответы (2 шт):
Автор решения: alex
→ Ссылка
не получится авторизоваться на прокси. и попытаться заполнить алерт с авторизацией тоже не получится потому что не поддерживается.
единственное что может помочь - seleniumwire.
$: pip install selenium-wire
from seleniumwire import webdriver
options = {
'proxy': {
'http': 'http://user:[email protected]:8888',
'https': 'http://user:[email protected]:8888',
'no_proxy': 'localhost,127.0.0.1'
}
}
driver = webdriver.Firefox(seleniumwire_options=options)
driver.get("https://whoer.net")
P.S. или подождите несколько дней. я как раз заканчиваю дополнение, чтобы можно было ставить прокси с авторизацией и куки. но это не точно)
Автор решения: main
→ Ссылка
мне помогло только одно это удаление подмены User-Agent или случайный выбор тоесть вот так:
user_list = ["Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.0; Trident/4.0)", "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.1; Trident/7.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; MATP; MATP)", "Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.1; WOW64; Trident/6.0)"]
ninja = random.choice(user_list)
print(ninja)
option = webdriver.FirefoxOptions()
option.set_preference("dom.webdriver.enabled", False)
option.set_preference("general.useragent.override", ninja)
driver = webdriver.Firefox(options=option)
driver.get('https://browser-info.ru/')
также можно еще можно вот так:
ninja = "'"+user-agent+"'"
