需要我的查询答案。
在我的测试脚本中,我试图接受警报,然后表在接受警报后应该加载,但同样的情况不会发生。由于表没有加载,我收到以下错误: -
org.openqa.selenium.NoSuchElementException:没有这样的元素:无法找到元素:{"方法":" xpath","选择器":&# 34; //表[含有(@id,' Content_gvSelectSeats&#39)] / tbody的"} (会议信息:chrome = 58.0.3029.110)
这是同步问题吗?
以下代码: -
1)点击抓取
reallocate.getReallocateclickFetch();
//简单点击按钮
2)现在微调器将移动并发出警报//等待警报并接受警告
public boolean WaitUntilAlertLoad()
{
boolean foundAlert = false;
WebDriverWait wait = new WebDriverWait(driver, 30 /*timeout in seconds*/);
do {
for(int i=0;i<100;i++)
{
try {
wait.until(ExpectedConditions.alertIsPresent());
foundAlert = true;
driver.switchTo().alert().accept();
} catch (Exception e) {
foundAlert = false;
}
if(i==99)
{
break;
}
}
}while(foundAlert=false);
return foundAlert;
}
但是在接受警报表后仍未加载。我该怎么办?
答案 0 :(得分:0)
以下是您的问题的答案:
在切换到Alert
到Accept
或Dismiss
之前,请考虑将父窗口的windowHandle存储在String中,如下所示:
//Stores the parent window handle
String windowHandle = driver.getWindowHandle();
现在,您可以按以下方式切换到Alert
Accept
或Dismiss
:
//Perform your actions on the Alert by switching over
driver.switchTo().alert().accept();
完成对Alert的操作后,请考虑通过存储在String中的父窗口的windowHandle切换回父/主窗口,如下所示:
//Switch back to the parent window
driver.switchTo().window(windowHandle );
如果这回答你的问题,请告诉我。