我需要在IE和Chrome中更改用户代理值以进行部分测试。我遇到的唯一的硒2例子只适用于FirefoxDriver。
有没有人设法更改IE和Chrome的用户代理?
标记
答案 0 :(得分:10)
我知道现在这已经很老了,但我偶然发现它并且几秒钟前我也找到了真正的解决方案(至少对于最新版本的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;)
答案 1 :(得分:8)
这就是我在python for 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 = []
答案 2 :(得分:1)
以下是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);
答案 3 :(得分:0)
我终于找到了至少在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