使用java在selenium webdriver中的两个窗口之间切换
我正在使用selenium webdriver和java自动化一个应用程序。因为我必须打开一个浏览器实例&;执行一些动作。之后,我必须打开另一个浏览器实例,在其中执行一些操作&;关闭该实例。然后我必须再次将控件返回到第一个浏览器实例,以执行其他一些操作
我试着使用:
String winHandleBefore = driver.getWindowHandle();
//then open new instance and perfom the actions
driver.switchTo().window(winHandleBefore);
但这返回了一个错误:
org.openqa.selenium.remote.SessionNotFoundException: no such session
我该怎么做?有人能帮忙吗
# 1 楼答案
执行
driver = new ChromeDriver();
操作时,重新初始化了driver
对象,这导致第一个窗口丢失。打开新窗口后,可以通过检查窗口句柄的数量来查看它要解决此问题,请使用临时
driver
打开新窗口