Пропустите user-agent через вебдрайвер в Selenium
Я работаю над проектом очистки сайта с использованием Selenium в Python. Когда я открываю домашнюю страницу через браузер, она открывается правильно.
Но когда я пытаюсь открыть веб-страницу через webdriver()
в Selenium открывается совершенно другая страница.
Я думаю, что он может обнаружить user-agent
(не уверен, как это называется) и может проверить свойства браузера или что-то.
Можно ли передать свойства через webdriver()
так что правильная домашняя страница загружена.
Спасибо
2 ответа
Изменение пользовательского агента в Python-версии webdriver осуществляется путем изменения профиля вашего браузера. Я сделал это только для 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)
снова)
Если вы не уверены в том, что такое строка вашего пользовательского агента, выполните поиск "что такое мой пользовательский агент" в браузере, который правильно отображает страницу, и просто скопируйте и вставьте ее.
Надеюсь, что это сортирует.
Предполагая, что пользовательский агент является проблемой, в Java вы можете изменить его следующим образом:
FirefoxProfile profile = new FirefoxProfile();
profile.addAdditionalPreference("general.useragent.override", "some UA string");
WebDriver driver = new FirefoxDriver(profile);
Смотрите документацию здесь.