java selenium 操作弹出窗口示例代码
作者:肖佳 时间:2021-06-27 05:29:08
selenium 中如何处理弹出窗口
阅读目录
原理
测试页面的HTML
Java 代码
原理
在代码里, 通过 Set<String> allWindowsId = driver.getWindowHandles();
来获取到所有弹出浏览器的句柄, 然后遍历, 使用swithcto.window(newwindow_handle)方法。 就可以定位到新的窗口
测试页面的HTML
<html>
<head>
<title>常见web ui元素操作, 及API使用</title>
<script type="text/javascript">
function open_win()
{
window.open("http://www.cnblogs.com")
}
</script>
</head>
<body>
<form>
<input type=button value="打开窗口" onclick="open_win()">
</form>
</div>
</body>
</html>
Java 代码
public static void testMultipleWindowsTitle(WebDriver driver) throws Exception
{
String url="E:\\StashFolder\\huoli_28@hotmail.com\\Stash\\Tank-MoneyProject\\Selenium Webdriver\\AllUIElement.html";
driver.get(url);
// 获取当前窗口的句柄
String parentWindowId = driver.getWindowHandle();
System.out.println("driver.getTitle(): " + driver.getTitle());
WebElement button = driver.findElement(By.xpath("//input[@value='打开窗口']"));
button.click();
Set<String> allWindowsId = driver.getWindowHandles();
// 获取所有的打开窗口的句柄
for (String windowId : allWindowsId) {
if (driver.switchTo().window(windowId).getTitle().contains("博客园")) {
driver.switchTo().window(windowId);
break;
}
}
System.out.println("driver.getTitle(): " + driver.getTitle());
// 再次切换回原来的父窗口
driver.switchTo().window(parentWindowId);
System.out.println("parentWindowId: " + driver.getTitle());
}
标签:java,selenium,弹出窗口
0
投稿
猜你喜欢
深入探究Java线程与进程有哪些区别
2023-05-06 13:26:03
java 单例的五种实现方式及其性能分析
2023-05-10 10:50:51
C#交错数组用法实例
2022-08-13 09:34:55
关于Android中WebView远程代码执行漏洞浅析
2023-02-21 13:36:21
C#实现读取指定盘符硬盘序列号的方法
2023-05-23 15:06:39
struts2实现多文件上传的示例代码
2022-03-09 23:40:54
C#中Span相关的性能优化建议
2021-07-05 15:42:26
IDEA全量替换一次性解决旧项目并将所有文件换行符改为LF问题
2022-09-17 18:44:32
浅析C# 委托(Delegate)
2023-01-26 20:11:45
Java实现单向链表的基本功能详解
2022-12-18 10:57:02
Springboot 使用maven release插件执行版本管理及打包操作
2023-07-12 01:20:35
SpringBoot使用自动配置xxxAutoConfiguration
2022-11-20 09:05:56
java调用oracle分页存储过程示例
2021-06-08 12:44:16
SpringBoot整合JDBC、Druid数据源的示例代码
2022-06-19 20:44:24
WPF使用Geometry绘制几何图形
2023-08-14 14:13:31
Java中如何使用Response重定向
2023-08-03 07:41:07
IntelliJ IDEA 常用设置(配置)吐血整理(首次安装必需)
2021-06-24 15:23:49
C# 循环判断会进来几次的实现代码
2021-12-27 15:10:51
spring boot 全局异常处理方法汇总
2021-07-06 22:44:04
C的|、||、&、&&、异或、~、!运算符
2022-05-30 13:10:30