失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > java控制html弹出框 Selenium+java - 弹出框处理

java控制html弹出框 Selenium+java - 弹出框处理

时间:2019-11-14 00:42:59

相关推荐

java控制html弹出框 Selenium+java - 弹出框处理

一、弹出框分类:

弹出框分为两种,一种基于原生JavaScript写出来的弹窗,另一种是自定义封装好的样式的弹出框,本文重点介绍原生JavaScript写出来的弹窗,另一种弹窗用click()基本就能搞定。

原生JavaScript写出来的弹窗又分为三种:

alert

confirm

prompt

二、弹窗处理常用方法:

alert/confirm/prompt弹出框操作主要方法有:

driver.switchTo().alert():切换到alert弹出框上

getText():获取文本值

accept() :点击"确认"

dismiss() :点击"取消"或者关闭对话框

send_keys() :输入文本值 --仅限于prompt,在alert和confirm上没有输入框

三、被页面html源代码:

弹窗练习案例

function checkup() {

if (window.confirm("确定要删除吗?")) {

return true;

} else {

return false;

}

}

function welcome() {

var myname = prompt("请输入你的姓名:");

if (myname != null) {

alert("你好," + myname);

} else {

alert("你好 my friend.");

}

}

删除按钮

点击加入我们

四、alert弹窗处理

具体实例代码如下:

@Test

public void testAlert() {

driver.get("file:///C:/Users/Administrator/Desktop/popup.html");

driver.manage().window().maximize();

driver.manage().timeouts().implicitlyWait(30, TimeUnit.SECONDS);

driver.findElement(By.id("alert")).click();

//获取alert对话框

Alert alert = driver.switchTo().alert();

//获取对话框文本

String text = alert.getText();

//打印警告对话框内容

System.out.println(text);

//alert对话框属于警告对话框,我们这里只能接受弹窗

alert.accept();

}

五、confirm弹窗处理

具体实例代码如下:

@Test

public void testConfirm() {

driver.get("file:///C:/Users/Administrator/Desktop/popup.html");

driver.manage().window().maximize();

driver.manage().timeouts().implicitlyWait(30, TimeUnit.SECONDS);

driver.findElement(By.id("dialog")).click();

//获取confirm对话框

Alert alert = driver.switchTo().alert();

//获取对话框的内容

String text = alert.getText();

//打印对话框的内容

System.out.println(text);

//点击“确认”按钮

alert.accept();

# 点击“取消”按钮

//alert.dismiss();

}

六、prompt弹窗处理

具体实例代码如下:

@Test

public void testPrompt() {

driver.get("file:///C:/Users/Administrator/Desktop/popup.html");

driver.manage().window().maximize();

driver.manage().timeouts().implicitlyWait(30, TimeUnit.SECONDS);

driver.findElement(By.id("welcome")).click();

//获取prompt对话框

Alert alert = driver.switchTo().alert();

//获取对话框的内容

String text = alert.getText();

//打印对话框的内容

System.out.println(text);

//在弹框内输入信息

alert.sendKeys("软件测试君");

//点击“确认”按钮,提交输入的内容

alert.accept();

}

六、运行结果

Java 学习笔记 (二) Selenium WebDriver Java 弹出框

下面这段实例实现了以下功能: 1. profile使用用户本地电脑上的 (selenium 3有问题.因为selenium 3把profile复制到一个temp文件夹里,但并不复制回去.所以每次打开仍 ...

自动化测试-12.selenium的弹出框处理

前言 不是所有的弹出框都叫alert,在使用alert方法前,先要识别出到底是不是alert.先认清楚alert长什么样子,下次碰到了,就可以用对应方法解决. alert\confirm\prompt ...

selenium浏览器弹出框alert 操作

1.简介 在WebDriver中要处理JS生成的alert.confirm以及prompt,需要 switch_to.alert() 来选取(定位)警告弹窗,在对弹窗进行关闭.输入等信息操作. 2.操 ...

Selenium Webdriver弹出框的种种类型

普通弹出框div 一般这种弹出框都属于dom的一部分,我们查看一下页面源码就可以定位到改弹出框了,然后定位下右上角的那个关闭,这里有id,所以很方便通过 dr.findElement(By.id ...

Selenium Webdriver弹出框 微博分享的内容控制与结果生成

browser.window_handles for i in ugc_url_l: js = 'window.location.href="{}"'.format(i) brow ...

基于Selenium2+Java的UI自动化(6)-操作Alert、confirm、prompt弹出框

alert.confirm.prompt这样的js对话框在selenium1 时代处理起来比价麻烦,常常要用autoit来帮助处理.而现在webdriver对这些弹出框做了专门的处理,使用seleni ...

自动化测试基础篇--Selenium弹出框alert

摘自/sanzangTst/p/7685304.html 不是所有的弹出框都叫alert,在使用alert方法前,先要识别出到底是不是alert.先认 ...

java 弹出选择目录框(选择文件夹),获取选择的文件夹路径

java 弹出选择目录框(选择文件夹),获取选择的文件夹路径 java 弹出选择目录框(选择文件夹),获取选择的文件夹路径:int result = 0;File file = null;String ...

Python+Selenium笔记(九):操作警告和弹出框

#之前发的driver.switch_to_alert() 这句虽然可以运行通过,但是会弹出警告信息(这种写法3.x不建议使用) 改成driver.switch_to.alert就不会了. (一 ...

随机推荐

NSObject+YYModel.h

01 - nil Nil NULL NSNull kCFNull 的区别 参考:/p/3aaefb3bcf73 02 -__bridge,__bridg ...

[综]前景检测GMM

tornadomeet 前景检测算法_4(opencv自带GMM) /tornadomeet/archive//06/02/2531705.html ...

Symbol ES6 新增的一种值类型数据,表示一种绝不重复的值

let s1 = Symbol(33); let s2 = Symbol(33); alert(typeof(s1)); //数据类型判断 // alert(s1.toString()); //可把一 ...

vbs常用代码

在网上查找资料的时候发现好多经典的vbs代码收集起来也为了以后学习. VBS播放音乐 Dim wmp Set wmp = CreateObject("WMPlayer.OCX") ...

java面向对象编程--第十一章 异常处理

1.异常:描述出错信息的对象. 字节码校验时,如发生错误,则会抛出异常. 2.所有异常的父类是Exception,异常可以捕获,可以处理. 所有错误的父类是Error,错误可以捕获,但不能处理. Th ...

c++特性:指向类成员的指针和非类型类模板参数和函数指针返回值 参数推导机制和关联型别

一.c++允许定义指向类成员的指针,包括类函数成员指针和类数据成员指针 格式如下: class A { public: void func(){printf("This is a funct ...

基于 HTML5 WebGL 的 3D SCADA 主站系统

这个例子的初衷是模拟服务器与客户端的通信,我把整个需求简化变成了今天的这个例子.3D 的模拟一般需要鹰眼来辅助的,这样找产品以及整个空间的概括会比较明确,在这个例子中我也加了,这篇文章就算是我对这次项 ...

C#-之属性(2)

1. 属性结合字段和方法得多个方面,对于对象的用户来说,属性就像字段(这样就可以修改属性值或者访问),对于类的实现者来说,属性包括两个各部分get访问器(用于读取属性)和set访问器(用于设置属性 ...

wrk编译报错gcc: Command not found

报错信息如下: 问题原因:没有安装gcc 解决办法: yum -y install gcc+ gcc-c++ 若需升级gcc,则采用如下命令: yum -y update gcc

在n个任意不相同的数中,输出r个数的组合,并且n和r由键盘输入。

主要是运用递归的思想,函数主要两个参数,point是上一次取到的位置,picked主要记录在数组b中所取的元素的个数,函数的每一轮递归都会取一个数. package pack; import ja ...

如果觉得《java控制html弹出框 Selenium+java - 弹出框处理》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。