我正在尝试检查我要打开的弹出窗口是否已打开。
我已经检查了一些问题答案,如
How would you check if a popup window exists using selenium webdriver?
但是,nothings帮助解决了这个问题。
在这里,首先我点击登录按钮打开登录窗口。
driver.findElement(By.xpath("//a[@id='login_btn']")).click(); // Click Login Button
我甚至试过getPageSource()
,但似乎没有用。
任何形式的帮助都将受到赞赏。
提前致谢。 :)
答案 0 :(得分:2)
如果它是原生浏览器提醒(=弹出窗口),您可以执行以下操作:
try{
driver.switchTo().alert();
// If it reaches here, it found a popup
} catch(NoALertPresentException e){}
您实际处理的内容是iframe,您可以在获取" iframe"的属性值后执行以下操作:属性:
driver.switchTo.frame("ValueOfIframe");
// Treat as normal webpage. Now in iframe scope
driver.switchTo.defaultContent(); // To return back to normal page scope
答案 1 :(得分:1)
String mwh=driver.getWindowHandle();
现在尝试通过执行某些操作打开弹出窗口:
driver.findElement(By.xpath("")).click();
Set s=driver.getWindowHandles(); //this method will gives you the handles of all opened windows
Iterator ite=s.iterator();
while(ite.hasNext())
{
String popupHandle=ite.next().toString();
if(!popupHandle.contains(mwh))
{
driver.switchTo().window(popupHandle);
/**/here you can perform operation in pop-up window**
//After finished your operation in pop-up just select the main window again
driver.switchTo().window(mwh);
}
}