Selenium WebDriver FirefoxBinary #startProfile

时间:2014-04-19 03:57:17

标签: java firefox selenium-webdriver

方法FirefoxBinary#startProfile有什么意义?

如何使用上述方法控制浏览器的打开?

FirefoxBinary binary = new FirefoxBinary(new File("path\\to\\binary.exe"));
String profilePath = "path\\to\\profile";
FirefoxProfile profile = new FirefoxProfile(new File(profilePath));
binary.startProfile(profile, profilePath, "");
//A browser opens at this point, but how do I send it commands or attach 
//it to a WebDriver?

1 个答案:

答案 0 :(得分:2)

该方法的目的是完成它的工作:使用指定的配置文件启动Firefox实例。 WebDriver在临时目录中创建配置文件的副本,并将WebDriver Firefox扩展添加到此配置文件副本中。 Th startProfile方法启动Firefox,确保清理配置文件,以便新实例可以使用它。如果您知道添加到配置文件的浏览器扩展正在侦听哪个端口,则可以使用WebDriver JSON有线协议命令连接到该端口并控制浏览器。

但是,除非你真的知道自己在做什么,否则这是一种复杂的方法。你最好调用FirefoxDriver构造函数,传入FirefoxBinary对象,并让构造函数的内部为你调用startProfile方法。