继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续
感谢您的支持,我会继续努力的
赞赏金额会直接到老师账户
将二维码发送给自己后长按识别
微信支付
支付宝支付

selenium+java笔记(4)

麦芒
关注TA
已关注
手记 48
粉丝 172
获赞 904

键盘事件

//引入
import org.openqa.selenium.Keys;
//输入框输入内容
.sendKeys("selenium");
//删除
.sendKeys(Keys.BACK_SPACE);
//空格
sendKeys(Keys.SPACE);
//制表键
sendKeys(Keys.TAB);
//回车
sendKeys(Keys.ENTER);
//全选
sendKeys(Keys.CONTROL,"a");
//复制
sendKeys(Keys.CONTROL,"c");
//剪切
sendKeys(Keys.CONTROL,"x");
//黏贴
sendKeys(Keys.CONTROL,"v");
//键盘
sendKeys(Keys.F1);

获得验证信息

//获取当前页面的title
driver.getTitle();
//获取当前页面的URL
driver.getCurrentUrl();
//获取元素的文本信息
.getText();

设置元素等待

//引用
import java.util.concurrent.TimeUnit;
//显式等待
new WebDriverWait(driver,15).until(ExpectedConditions.presenceOfElementLocated(By.cssSelector("css locator")));
//识别对象超时时间,隐式等待
driver.manage().timeouts().implicitlyWait(2,TimeUnit.SECONDS);
//页面超时时间interrupt
pageLoadTimeout(10,TimeUnit.SECONDS);
//异步脚本超时时间
setScriptTimeout(10,TimeUnit.SECONDS);

sleep休眠

//Thread.sleep方法由java提供,使用时需要加上异常处理
//与throws配合,使用比较方便

public class TimeoutDome01{
    public staic void mian (String[] args)throws interrupetedException{
        Thread.sleep(1000);
    }
}

//与try...catch使用

try{
    Thread.sleep(1000);
}catch(Exception e){
    e.printStackTrace();
}

多表单切换
WebDiever只能在一个页面上对元素进行识别与定位,对于frame/iframe表单内嵌元素无法直接定位,所以需要用到switchTo.frame()把定位的主体切换到 frame/iframe表单内嵌页面中。

//默认可以取表单id、name的属性
driver.switchTo().frame("kw");
//使用xpth定位
WebElement xf = driver.findElement(By.xpth("//input[@type='checkbox']"));
driver.switchTo().frame(xf);
//退出上级菜单
driver.switchTo().defaultContent();

多窗口切换
handle-句柄,指对象的唯一标识。

//获取当前的窗口的句柄
String handle = driver.getWindowhandle();
//获取所有窗口的句柄
Set<String> handles = driver.gerWindowhandles();
//打印所有窗口的句柄
for(String handle:handles){
    System.out.println(handle);
}
//根据句柄切换窗口
driver.swicthTo().window(handle);

警告框处理
一般警告框分三种:alter、confirm、prompt

//获取警告框的文本信息
.getText()
//接受现有警示框
.accpet()
//取消现有警示框
.dismiss()
//将文本发送到警告框
.sendKeys(文本内容)
//定位到alert警告框,并接受
driver.switchTo().alert().accept();
打开App,阅读手记
2人推荐
发表评论
随时随地看视频慕课网APP