软件测试培训
达内IT学院
400-996-5531
特殊处理--Selenium自动化(十)
1. iframe的处理
//传入参数为frame的序号,从0开始
driver.switchTo().frame(Int index);
//传入参数为frame的ID或者Name属性
driver.switchTo().frame(String nameOrId);
//切换回父级
driver.switchTo().defaultContent();
查找元素必须在对应的ifarme中查找,否则是找不到的。
2. 处理对话框alert\confirm\prompt
处理alert
//点击会触发alert的元素,比如按钮
driver.findElement(By.id("alert")).click();
Alert alert = driver.switchTo().alert();
String text = alert.getText(); //获取alert上的文本
System.out.println(text);
alert.dismiss(); //关闭alert
处理confirm
driver.findElement(By.id("confirm")).click();
Alert confirm = driver.switchTo().alert();
String text1 = confirm.getText();
System.out.println(text1);
confirm.accept(); //关闭confirm
//处理prompt
driver.findElement(By.id("prompt")).click();
Alert prompt = driver.switchTo().alert();
String text2 = prompt.getText();
System.out.println(text2);
prompt.sendKeys("ok!!!!");
prompt.accept();
上代码可以看出driver.switchTo().alert();这句可以得到alert\confirm\prompt对话框的对象,然后运用其方法对它进行操作。对话框操作的主要方法有:
n getText() 得到它的文本值
n accept() 相当于点击它的"确认"
n dismiss() 相当于点击"取消"或者叉掉对话框
n sendKeys() 输入值,这个alert\confirm不能用,会报错。
3. 富文本编辑器
//定位到富文本输入框所在的frame
driver.switchTo().frame("ueditor_0");
JavascriptExecutor js = (JavascriptExecutor) driver;
//通过js赋值进去
js.executeScript("document.body.innerHTML='ABCDEFG'");
填写下面表单即可预约申请免费试听! 怕学不会?助教全程陪读,随时解惑!担心就业?一地学习,可全国推荐就业!
Copyright © 京ICP备08000853号-56 京公网安备 11010802029508号 达内时代科技集团有限公司 版权所有
Tedu.cn All Rights Reserved