Selenium 2 - Настройка пользовательского агента для IE и Chrome - PullRequest
11 голосов
/ 04 августа 2011

Мне нужно изменить значение пользовательского агента в IE и Chrome для некоторых наших тестов. Единственные примеры селена 2, с которыми я сталкивался, работают только с FirefoxDriver.

Кому-нибудь удалось изменить пользовательский агент для IE и Chrome?

Mark

Ответы [ 4 ]

10 голосов
/ 30 июня 2012

Я знаю, что это очень старый процесс, но я наткнулся на него несколько секунд назад, и я также нашел реальное решение (по крайней мере, для последней версии Selenium).

Итак, поехали (Python, пример подделки iPad UA):

from selenium import webdriver

options = webdriver.ChromeOptions()
options.add_argument('--user-agent=Mozilla/5.0 (iPad; CPU OS 5_0 like Mac OS X) AppleWebKit/534.46 (KHTML, like Gecko) Version/5.1 Mobile/9A334 Safari/7534.48.3')

driver = webdriver.Chrome(chrome_options=options)

# ...loads of fun...

Надеюсь, это полезно для тех, у кого такая же проблема. О, и это также работает со всеми другими параметрами командной строки Chrome. Приятного просмотра;)

8 голосов
/ 29 ноября 2011

Вот так я запустил его в python для Chrome.

 from selenium import webdriver 
 ...
 def setUp(self):
        capabilities = webdriver.DesiredCapabilities.CHROME
        capabilities["chrome.switches"] = ["--user-agent="+USER_AGENT_STRING] 
        cls.driver = webdriver.Chrome(executable_path="servers/chromedriver",desired_capabilities=capabilities)
        self.driver.implicitly_wait(5)
        self.verificationErrors = []
1 голос
/ 30 июня 2016

Вот ответ для PHP:

$options = new ChromeOptions();
$options->addArguments(['--user-agent=my fake user-agent string']);
$capabilities = DesiredCapabilities::chrome();
$capabilities->setCapability(ChromeOptions::CAPABILITY, $options);
$driver = RemoteWebDriver::create($host,$capabilities);
0 голосов
/ 19 декабря 2018

Я наконец-то узнал, как это сделать хотя бы в chrome:

capabilities = webdriver.common.desired_capabilities.DesiredCapabilities.CHROME.copy()
capabilities['javascriptEnabled'] = True
options = webdriver.ChromeOptions()
options.add_argument('--user-agent=<YOUR USER AGENT HERE>')

driver = webdriver.Remote(command_executor='http://<YOUR SELENIUM HUB HERE>:4444/wd/hub',desired_capabilities=capabilities, options=options)

Источники: https://gist.github.com/thureos/2db0bc44589669a00c22a86503c80bbb https://seleniumhq.github.io/selenium/docs/api/py/webdriver_remote/selenium.webdriver.remote.webdriver.html?highlight=remote

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...