Changing the user agent using selenium webdriver in Java
谁能告诉我如何在 Java 中使用 webdriver 切换用户代理?
我在下面尝试过,但出现错误。
1 2 3 4 | 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); |
DesiredCapabilities 将帮助您更改用户代理。
您可以通过调用这些方法来实现:
-
setBrowserName(java.lang.String browserName) -
setPlatform(Platform platform) -
setVersion(java.lang.String version)
或
-
static DesiredCapabilities chrome() -
static DesiredCapabilities firefox() -
static DesiredCapabilities iphone() - ...
这里有更多。
我相信这个解决方案是该问题的理想答案。我测试了它,它对我有用。编码愉快!
1 2 3 4 5 6 | 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"); |
我需要为 Chrome 执行此操作,并且需要为 Googlebot 设置一个特定的字符串(不适合作为平台、浏览器或版本)。
1 2 3 4 5 | // 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); |