如何将修改标头添加到fifrefox配置文件并在用户代理中运行测试值:Mozilla / 5.0(iPhone; U; CPU iPhone OS 4_0,如Mac OS X; en-us)AppleWebKit / 532.9(KHTML,如Gecko)Mobile / 7D11。因为我使用下面的代码fp是firefox
profile object fp.setEnableNativeEvents(true);
File file = new File("C:\\FirefoxProfile\\modify_headers-0.7.1.1-fx.xpi");
//File file = new File("C:\\AddOn");
fp.addExtension(file);
fp.setPreference("extensions.modify_headers.currentVersion", "0.7.1.1-fx");
fp.setPreference("modifyheaders.config.alwaysOn", true);
fp.setPreference("modifyheaders.headers.count", 2);
fp.setPreference("modifyheaders.headers.action1", "Modify");
fp.setPreference("modifyheaders.headers.name0", "User-Agent");
fp.setPreference("modifyheaders.headers.value0", "Mozilla/5.0 (iPhone; U; CPU iPhone OS 4_0 like Mac OS X; en-us) AppleWebKit/532.9 (KHTML, like Gecko) Mobile/7D11");
fp.setPreference("modifyheaders.headers.enabled0", true);
答案 0 :(得分:3)
如果您真的很想使用Modify标头:
public static void main(String [] args){ 文件modifyHeaders = new File(System.getProperty(“user.dir”)+“/ src / test / resources / modify_headers-0.7.1.1-fx.xpi”);
FirefoxProfile profile = new FirefoxProfile();
try {
profile.setEnableNativeEvents(false);
profile.addExtension(modifyHeaders);
profile.setPreference("extensions.modify_headers.currentVersion", "0.7.1.1-fx");
profile.setPreference("modifyheaders.headers.count", 1);
profile.setPreference("modifyheaders.headers.action0", "Add");
profile.setPreference("modifyheaders.headers.name0", "User-Agent");
profile.setPreference("modifyheaders.headers.value0", "Mozilla/5.0 (iPhone; U; CPU iPhone OS 4_0 like Mac OS X; en-us) AppleWebKit/532.9 (KHTML, like Gecko) Mobile/7D11");
profile.setPreference("modifyheaders.headers.enabled0", true);
profile.setPreference("modifyheaders.config.active", true);
profile.setPreference("modifyheaders.config.alwaysOn", true);
DesiredCapabilities capabilities = new DesiredCapabilities();
capabilities.setBrowserName("firefox");
capabilities.setPlatform(org.openqa.selenium.Platform.ANY);
capabilities.setCapability(FirefoxDriver.PROFILE, profile);
WebDriver driver = new FirefoxDriver(capabilities);
driver.get("https://google.com.au");
} catch (IOException e) {
e.printStackTrace();
}
// .... the rest}
答案 1 :(得分:1)
修改用户代理比使用附加组件更简单。您需要做的就是为Firefox general.useragent.override
设置分配一个新值。
FirefoxProfile profile = new FirefoxProfile();
profile.setPreference("general.useragent.override", "My new shiny user agent");
WebDriver driver = new FirefoxDriver(profile);
driver.get("http://www.whatsmyuseragent.com/");