Selenium-窗口跳转

网友投稿 550 2022-10-28

Selenium-窗口跳转

Selenium-窗口跳转

@Test public void testMail() throws Exception { driver.get(baseUrl);String mainHandle=driver.getWindowHandle();      //取得登录前的窗口句柄 driver.findElement(By.cssSelector("div#idInputLine>input#idInput")).clear(); driver.findElement(By.cssSelector("div#idInputLine>input#idInput")).sendKeys("lihongbin_vip"); driver.findElement(By.id("pwdInput")).clear(); driver.findElement(By.id("pwdInput")).sendKeys("Aa11111111"); driver.findElement(By.id("loginBtn")).click(); Thread.sleep(5000); //登录成功,跳转到首页面Set set = driver.getWindowHandles(); //创建set集合,即句柄数组 Iterator handles = set.iterator(); //迭代器取得所有set集合内容 while (handles.hasNext()) { //是否还存在句柄 String sonHandle = handles.next(); //循环取得各个元素值 if (!sonHandle.equals(mainHandle)) //“登录后的取得的所有句柄”与“登录之前取得的句柄”进行对比,如果不同则执行窗口跳转 { driver.switchTo().window(sonHandle);  }} String loginC=driver.getPageSource(); System.out.println("登录后:"); System.out.println(loginC); System.out.println("输出完成");

注标红的部分:从登录前需要取得窗口句柄一次,登录后取得所有句柄并对比,如不相同则跳转到登录后的句柄窗口中。

简单的方法用下面的也可以:

//Switch to new window opened

for(String winHandle : driver.getWindowHandles()){ driver.switchTo().window(winHandle); }

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:“论PHP框架是如何诞生的”文章的源码
下一篇:Netty实战入门教程之 什么是Netty
相关文章

 发表评论

暂时没有评论,来抢沙发吧~