Передайте user-agent через webdriver в Selenium

Я работаю над проектом очистки веб-сайта с использованием Selenium в Python. Когда я открываю домашнюю страницу через браузер, она открывается правильно.

но, когда я пытаюсь открыть веб-страницу с помощью webdriver() в Selenium открывается совершенно другая страница.

Я думаю, он способен обнаруживать user-agent( Не уверен, что это так называется) и может проверить Свойства обозревателя или что-то.

можно ли передать свойства, хотя webdriver() Так что правая Домашняя страница загружена.

спасибо

2 ответов


изменение агента пользователя в версии WebDriver python выполняется путем изменения профиля вашего браузера. Я сделал это только для webdriver.Firefox() передача параметра профиля. Вам нужно сделать следующее:

from selenium import webdriver
profile = webdriver.FirefoxProfile()
profile.set_preference("general.useragent.override","your_user_agent_string")
driver=webdriver.Firefox(profile)

каждый раз, когда вы хотите изменить агент пользователя, вам нужно будет перезапустить веб-браузер (т. е. позвонить driver=webdriver.Firefox(profile) снова)

Если вы не уверены, что ваша строка агента пользователя выполняет поиск "Что такое мой агент пользователя" в браузере, который отображает страницу правильно и просто скопируйте и вставьте это.

надеюсь, что сортирует его.


предполагая, что проблема заключается в user-agent, в Java вы можете изменить его следующим образом:

FirefoxProfile profile = new FirefoxProfile();
profile.addAdditionalPreference("general.useragent.override", "some UA string");
WebDriver driver = new FirefoxDriver(profile);

документации здесь.