WebDriver中的操作使用

时间:2023-03-09 08:03:16
WebDriver中的操作使用

1、WebDriver中使用jquery
假如设定jquery包的路径为path,则程序如下:

String jquery=null;
FileInputStream input = new FileInputStream(new File(path));
While((context=input.readlines())!=null){
Jquery=jquery+context;
}
FirefoxDriver driver =new FirefoxDriver();
String js=“”//此处输入你要查找的jquery的代码
//这种方式其实就是读取jquery库的内容,然后全部加载执行
Driver.executeScript(jquery+js);

2、WebDriver中调用javascript

有一些在页面的东西可能运用webdriver的API不好解决,这个时候我们可以调用javascript来解析DOM。所有的webdriver的实现类都继承了JavascriptExecutor的接口。
下面一个运行javascript的例子:

WebDriver driver = new FirefoxDriver();
String js=“alert('Hello')”;
(javascriptExecutor)driver.executeScript(js);

这个例子就会执行alert。

3、Webdriver鼠标动作的操作
在前面的例子中已经出现过鼠标的操作了,就是拖拽,但是鼠标动作有很多,比如双击,单击右键等。操作类在API中是Actions的类,具体的实现见例子:

WedDriver driver = new FirefoxDriver();
Actions action = new Actions(driver);

这个时候可以调用action来进行各种操作。

Action.doubleClick();//双击左键

具体的例子可以参考selenium的API。

4、一些浏览器的自身操作

之前我们就可以通过get方法来打开一个网页,像我们所看到的,WebDriver同样还有许多小接口,Navigation就是其中一个小接口:

driver.navigate().to("http://www.example.com");
navigate().to和get()其实作用是一样的,但是navigate还可以进行浏览器的前进后退操作:
driver.navigate().forward();
driver.navigate().back();

5、frame和window的切换
Switch同样支持frame:

driver.switchTo().frame("frameName");//同样可以使用他访问subframe,找frameName的第一个subframe中叫做child的frame:

driver.switchTo().frame("frameName.0.child");