硒不';无法识别新打开的窗口-Selenium C#
似乎我的代码中遇到了一些同步问题。 在我的过程中,我点击一个按钮,打开一个新窗口。 我正在通过以下代码切换到新窗口硒不';无法识别新打开的窗口-Selenium C#,c#,selenium,selenium-webdriver,C#,Selenium,Selenium Webdriver,似乎我的代码中遇到了一些同步问题。 在我的过程中,我点击一个按钮,打开一个新窗口。 我正在通过以下代码切换到新窗口 \u webdriver.SwitchTo().Window(\u webdriver.WindowHandles.Last();我不确定这在C中是如何实现的,但我认为selenium是一样的,您只需对循环使用C语法即可 //Switch to newly opened window (JAVA) for(String winHandle : driver.get
\u webdriver.SwitchTo().Window(\u webdriver.WindowHandles.Last();
我不确定这在C中是如何实现的,但我认为selenium是一样的,您只需对循环使用C语法即可
//Switch to newly opened window (JAVA)
for(String winHandle : driver.getWindowHandles()){
driver.switchTo().window(winHandle);
}
这就是我在Java中所做的。如果我没有错的话,在C#中你也会得到同样的方法driver.getWindowHandles()
。
希望这对您有所帮助。您可以等待两个窗口,然后将上下文设置为新窗口:
var wait=new-WebDriverWait(驱动程序,TimeSpan.FromSeconds(20));
//等待2个窗口
ReadOnlyCollection句柄=null;
等待.直到((d)=>(句柄=驱动程序.WindowHandles).Count>1);
//在新窗口上设置上下文
driver.SwitchTo().Window(句柄[handles.IndexOf(driver.CurrentWindowHandle)^1]);