更多课程 选择中心

软件测试培训
达内IT学院

400-996-5531

特殊处理--Selenium自动化(十)


特殊处理--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'");

预约申请免费试听课

填写下面表单即可预约申请免费试听! 怕学不会?助教全程陪读,随时解惑!担心就业?一地学习,可全国推荐就业!

上一篇:页面元素操作之三--Selenium自动化(九)
下一篇:高级应用--Selenium自动化(十一)

数据驱动之sqlite--Selenium自动化(二十一)

数据驱动之csv--Selenium自动化(二十)

数据驱动之properties--Selenium自动化(十九)

Page Object改进--Selenium自动化(十八)

Copyright © 2023 Tedu.cn All Rights Reserved 京ICP备08000853号-56 京公网安备 11010802029508号 达内时代科技集团有限公司 版权所有

选择城市和中心
黑龙江省

吉林省

河北省

陕西省

湖南省

贵州省

云南省

广西省

海南省