Changing the user agent using selenium webdriver i

2020-06-18 12:59发布

Can someone pls tell me how to switch the user agent using webdriver in Java? I tried below, but getting errors.

FirefoxProfile ffp = new FirefoxProfile(); 
ffp.setPreference("general.useragent.override",
"Mozilla/5.0 (Windows NT 6.1; rv:15.0) Gecko/20100101 Firefox/15.0");
WebDriver fd = new FirefoxDriver(ffp);

3条回答
淡お忘
2楼-- · 2020-06-18 13:18

I believe this solution is the desired answer to the question. I tested it and it worked for me. Happy coding!

FirefoxOptions options = new FirefoxOptions();
String userAgent = "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/73.0.3683.103 Safari/537.36 OPR/60.0.3255.170";
options.addPreference("general.useragent.override",userAgent);

WebDriver webDriver = new FirefoxDriver(options);
webDriver.get("http://whatsmyuseragent.org");
查看更多
不美不萌又怎样
3楼-- · 2020-06-18 13:26

I needed to do it for Chrome, and needed to set a specific string (not fitting as platform, browser or version) for Googlebot.

    // import org.openqa.selenium.chrome.ChromeOptions;

    ChromeOptions options = new ChromeOptions();
    options.addArguments("user-agent=\"Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)\"");
    new ChromeDriver(options);
查看更多
Bombasti
4楼-- · 2020-06-18 13:32

DesiredCapabilities would help you to change user agent.

You can achieve this by calling these methods:

  • setBrowserName(java.lang.String browserName)
  • setPlatform(Platform platform)
  • setVersion(java.lang.String version)

Or

  • static DesiredCapabilities chrome()
  • static DesiredCapabilities firefox()
  • static DesiredCapabilities iphone()
  • ...

More here.

查看更多
登录 后发表回答