切换到以前打开的硒窗口,使用 Firefox 版本 56



我已经通过在Firefox 56中打开一个窗口来执行一些操作,我打开另一个窗口并执行一些操作。在第二个窗口中完成操作后,我需要切换回先前打开的窗口。

我尝试使用窗口处理程序,但它不起作用。

有人可以帮我解决这个问题吗?我对 Java 的 Selenium 完全陌生,所以它会有很大帮助! 谢谢。

我希望您正在寻找高级浏览器操作, C#中有函数,

对于导航历史记录,我总是使用:-

this.driver.Navigate().Back();

您还可以存储上一个窗口的 URL,然后再次导航到该 URL。

string oldUrl = this.driver.Url;
this.driver.Navigate().GoToUrl(@oldUrl);

有助于在浏览器窗口或选项卡之间切换:-

ReadOnlyCollection<string> windowHandles = driver.windowHandles;
driver.SwitchTo(windowHandles.First()); // switch to first opened window

您能否更具体地说明为什么窗口句柄不起作用(任何错误或异常( 如果您在第二个窗口中完成了操作,那么您应该关闭它,就像您所说的那样,它在第二个窗口上继续执行,

你也可以在windowHandles上使用forSuch循环,

driver.Close();// close newly opened window
driver.SwitchTo(windowHandles.First()); // then switch to older window

或使用

driver.Close();
driver.switchTo().window(driver.getWindowHandles().toArray()[0]);

最新更新