#python #selenium #selenium-webdriver #proxy #updates
#python #selenium #selenium-webdriver #прокси #Обновления
Вопрос:
Итак, все работает
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", int(PROXY_PORT))
fp.update_preferences()
driver = webdriver.Firefox(firefox_profile=fp)
Но если драйвер уже создан, прокси не может быть установлен.
Это не работает
driver = webdriver.Firefox()
driver.profile.set_preference("network.proxy.type", 1)
driver.profile.set_preference("network.proxy.http", PROXY_HOST)
driver.profile.set_preference("network.proxy.http_port", int(PROXY_PORT))
driver.profile.update_preferences()
И так тоже.
driver = webdriver.Firefox()
driver.firefox_profile.set_preference("network.proxy.type", 1)
driver.firefox_profile.set_preference("network.proxy.http", PROXY_HOST)
driver.firefox_profile.set_preference("network.proxy.http_port", int(PROXY_PORT))
driver.firefox_profile.update_preferences()
Почему? Не могу понять.
Я делаю что-то не так?
Комментарии:
1. Вы получаете сообщение об ошибке? Если да, то какой из них? Веб-драйвер просто игнорирует ваши новые настройки прокси?
2. Нет. Ошибок нет. Все работает правильно. Но настройки не применяются.
Ответ №1:
При использовании WebDriver с Firefox использование профиля является одноразовым. Когда драйвер запускает браузер, он записывает объект profile на диск, а затем запускает исполняемый файл браузера. После этого момента браузер не может считывать какие-либо дальнейшие изменения в объекте профиля WebDriver. Чтобы изменить прокси, вы должны установить настройки в профиле перед запуском браузера.