时间:2021-05-20
在web应用中,常常会遇见点击某个链接会弹出一个新的窗口,或者是相互关联的web应用 ,这样要去操作新窗口中的元素,就需要主机切换到新窗口进行操作。WebDriver 提供了switchTo().window()方法可以实现在不同的窗口之间切换。
在页面操作过程中有时候点击某个链接会弹出新的窗口, 这时就需要主机切换到新打开的窗口上进行操作。WebDriver提供了switchTo().window()方法可以实现在不同的窗口之间切换。
以百度首页和百度注册页为例,在两个窗口之间的切换如下图。
实现窗口切换的代码如下:
import java.util.Set;import org.openqa.selenium.By;import org.openqa.selenium.WebDriver;import org.openqa.selenium.chrome.ChromeDriver;public class MoreWindows { public static void main(String[] arge) throws InterruptedException{ WebDriver driver = new ChromeDriver(); driver.get("https://"); //获得当前窗口句柄 String search_handle = driver.getWindowHandle(); //打开百度注册窗口 driver.findElement(By.linkText("登录")).click(); Thread.sleep(3000); driver.findElement(By.linkText("立即注册")).click(); //获得所有窗口句柄 Set<String> handles = driver.getWindowHandles(); //判断是否为注册窗口, 并操作注册窗口上的元素 for(String handle : handles){ if (handle.equals(search_handle)==false){ //切换到注册页面 driver.switchTo().window(handle); System.out.println("now register window!"); Thread.sleep(2000); driver.findElement(By.name("userName")).clear(); driver.findElement(By.name("userName")).sendKeys("user name"); driver.findElement(By.name("phone")).clear(); driver.findElement(By.name("phone")).sendKeys("phone number"); //...... Thread.sleep(2000); //关闭当前窗口 driver.close(); } } Thread.sleep(2000); driver.quit(); }}在本例中所涉及的新方法如下:
到此这篇关于Java Selenium实现多窗口切换的示例代码的文章就介绍到这了,更多相关Java Selenium 多窗口切换内容请搜索以前的文章或继续浏览下面的相关文章希望大家以后多多支持!
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
我们开发Android项目时,经常会打开多个项目,这时候多窗口显示就很方便了。但是很多人不知道如何切换窗口,那么,这里教大家如何多窗口切换,下面我们就来看看详细
在使用WPF开发的时候就不免会遇到需要两个窗口间进行传值操作,当然多窗口间传值的方法有很多种,本文介绍的是使用委托实现多窗口间的传值。在上代码之前呢,先简单介绍
AndroidN中推出了多窗口支持,项目要求适配多窗口模式,记录一下。1.生命周期:对于完全没有适配多窗口的APP来说,当启用多窗口模式或者拖动窗口时,会出现A
在上篇文章在winform下实现左右布局多窗口界面的方法已经实现了左右布局多窗口界面,今天本来是研究基于winform的插件编程,没想到顺便又找到了另一种实现方
易语言如何制作一款多窗口的软件呢,让我们一起来看看。1、打开易语言。2、如图为编辑窗口。3、把工作区切换为“程序”4、单机”窗口“5、右键。6、选择”插入新窗口