使用Java中的selenium webdriver更改用户代理

Sri*_*kka 6 java selenium webdriver selenium-webdriver

有人可以告诉我如何在Java中使用webdriver切换用户代理?我在下面试过,但得到错误.

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);
Run Code Online (Sandbox Code Playgroud)

小智 9

我相信这个解决方案是问题的理想答案。我测试了它,它对我有用。快乐编码!

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");
Run Code Online (Sandbox Code Playgroud)


M. *_*bas 7

DesiredCapabilities可以帮助您更改用户代理.

您可以通过调用以下方法来实现此目的:

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

要么

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

更多这里.


Mah*_*hdi 5

我需要为 Chrome 执行此操作,并且需要为 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);
Run Code Online (Sandbox Code Playgroud)