Selenium 2 - настройка пользовательского агента для IE и Chrome

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

Пользователю удалось изменить агент пользователя для IE и Chrome?

Марк

Ответ 1

Я знаю, что к настоящему времени это уже вечно, но я наткнулся на него и несколько секунд назад, и я также нашел реальное решение (по крайней мере, для последней версии 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. Njoy;)

Ответ 2

Вот как я его запускал в 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 = []

Ответ 3

Вот ответ для 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);

Ответ 4

Я наконец узнал, как это сделать, по крайней мере, в 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.webdrihh.