目录

(十五)切换窗口(标签)

切换窗口

有时候我们点击链接会弹出新窗口,我们需要去新窗口继续定位和操作元素,这时候就需要用到切换窗口的操作了。

switchTo().window(name_or_handle)方法可以切换到目标窗口。

一般来说,不建议大家直接使用上面的方法去切换,更明智的做法是获取要打开的窗口的链接,然后直接用get访问该链接,这样就不需要写切换窗口的代码了。

switchTo().window(name_or_handle)

该方法的参数有可以是

  • 窗口的name,这是为了兼容以前的实现,至于窗口的name是什么,我不太清楚
  • 窗口句柄,使用driver.getAllWindowHandles()句柄就可以返回浏览器中所有的打开的标签句柄了

目的

学会使用switchTo().window(name_or_handle)方法

示例代码

下面代码演示了如何遍历浏览器所有的标签,并逐一切换过去

dr.getAllWindowHandles().then(function(handles) }{
  for (var i = 0; i < handles.length; i++) {
    dr.switchTo().window(handles[i]);
  }
});

原始封面

https://images.unsplash.com/photo-1483356256511-b48749959172?w=300