硒多窗口切换的实现(windows)

  

在网络应用中,常常会遇见点击某个链接会弹出一个新的窗口,或者是相互关联的网络应用,这样要去操作新窗口中的元素,这时就需要主机切换到新窗口进行操作. . WebDriver提供了switchTo () .window()方法可以实现在不同的窗口之间切换。

  

以下代码是以新浪网为实例。通过获取句柄切换到指定窗口,并关闭窗口。当然切换到指定窗口,也可以通过元素定位等方法对元素进行操作。

  

getWindowHandle():获得当前窗口句柄。
  

  

getWindowHandles():返回的所有窗口的句柄到当前会话。
  

  

switchTo () .window():用于切换到相应的窗口,与上一节的switchTo () .frame()类似,前者用于不同窗口的切换,后者用于不同表单之间的切换只
  

        公共静态void main (String [] args)抛出InterruptedException {      System.setProperty(“webdriver.chrome。司机”、“D:/chromedriver_win32/chromedriver.exe”);   ChromeOptions选项=new ChromeOptions ();   选项。addArguments (“user-data-dir=C: \ \ \ \快乐\ \用户当地AppData \ \ \ \ Google Chrome \ \ \ \用户数据”);   WebDriver司机=new ChromeDriver(选项);   .maximize .window driver.manage () () ();//窗口最大化   driver.get (“http://www.sina.com.cn/?;   .timeouts driver.manage () ()。implicitlyWait (60, TimeUnit.SECONDS);//设置元素等待时间,隐式等待   字符串sreachHand=driver.getWindowHandle ();//获取当前窗口的句柄   driver.findElement (By.linkText(“体育”).click ();//打开新浪官网上的体育链接   driver.findElement (By.linkText(“娱乐”).click ();//打开新浪官网上的娱乐链接   java.util.Set处理=driver.getWindowHandles ();   System.out.println (Handles.size() +”集合长度”);//获取所有窗口的句柄并将句柄放在设置集合中。//以下判断是否是新浪网首页,如果是则关闭新浪网首页。   (我:字符串处理){   如果(i.equals (sreachHand)) {   driver.switchTo () .window(我);   thread . sleep (5000);   driver.close ();      }   }      }      之前      

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。

硒多窗口切换的实现(windows)