selenium2 用selenium安装、加载、启用插件(一)
一:下载
下载地址是:http://docs.seleniumhq.org/download/
一般火狐更新一次版本,就要换一次jar包。
二:打开java里应用
1、火狐浏览器打开(selenium是内置火狐的,所以打开火狐不需要其他jar包。但是如果要打开ie和chrome需要下载对应的jar包)
package info.cloudits.webdriver; import org.openqa.selenium.WebDriver; import org.openqa.selenium.WebDriver.Navigation; import org.openqa.selenium.firefox.FirefoxDriver; public class day2 { public static void main(String[] args) { MyFirefox(); } //启动火狐 public static void MyFirefox(){ WebDriver driver = new FirefoxDriver(); Navigation navigation = driver.navigate(); navigation.to("http://www.baidu.com"); } }
运行一下,就可以打开火狐浏览器,并且连接到百度。
2、动态安装插件
用上面那个方法打开的是一个纯净的浏览器。没有加载任何插件(之前有安装过也是一样的)。进入about:config,搜索firebug是搜索不到的。
那怎么去安装插件呢?
火狐安装firebug后,其安装文件可以在C:\Users\Administrator\AppData\Roaming\Mozilla\Firefox\Profiles\mcf9du1i.default\extensions这个目录下找到,将安装文件改个名称放到项目的file目录下:
public static void MyFirefoxPlugs(){ //创建file File file = new File("files/firebug-2.0.11.xpi"); FirefoxProfile firefoxprofile = new FirefoxProfile(); try { //安装插件 firefoxprofile.addExtension(file); } catch (IOException e) { e.printStackTrace(); } //设置版本号 firefoxprofile.setPreference("extensions.firebug.currentVersion", "2.0.11"); WebDriver driver = new FirefoxDriver(firefoxprofile); Navigation navigation = driver.navigate(); navigation.to("http://www.baidu.com"); }
在mian函数下运行MyFirefoxPlugs,可以看到
在config里也能看到,已经有对应firebug的设置了:
3、启用插件
上一步能看到的firebug的标志是灰色的,表示不可用。鼠标点上去,显示停用状态,怎么点都不会被启动。那怎么办呢?
进入about:config,查看启动firebug的首选项名称
在加载的时候,将这一项设置为on就可以了。在之前的代码设置版本号下面加上这句话就可以了。
firefoxprofile.setPreference("extensions.firebug.allPagesActivation", "on");
运行结果如下
4、已经安装插件了,直接启动插件
有些人可能在火狐上安装了太多的插件,每次启动selenium都要从新安装插件的话,实在太麻烦。
有个简单的办法,就是先获取浏览器的设置,然后把firebug启动就行了。
public static void MyFirefoxPlugsDefault(){ ProfilesIni profilesini = new ProfilesIni(); ///获取默认配置 FirefoxProfile firefoxprofile =profilesini.getProfile("default"); ///将firebug设置为启动 firefoxprofile.setPreference("extensions.firebug.allPagesActivation", "on"); //设置浏览器默认下载地址 firefoxprofile.setPreference("browser.download.dir", "C:\\MYsoftware1111"); WebDriver driver = new FirefoxDriver(firefoxprofile); Navigation navigation = driver.navigate(); navigation.to("http://www.baidu.com"); }