[76.508] [严重]:无法从渲染器接收消息(在控制台中)

时间:2017-06-27 12:25:20

标签: selenium

需要我的查询答案。

在我的测试脚本中,我试图接受警报,然后表在接受警报后应该加载,但同样的情况不会发生。由于表没有加载,我收到以下错误: -

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;
        } 

但是在接受警报表后仍未加载。我该怎么办?

1 个答案:

答案 0 :(得分:0)

以下是您的问题的答案:

在切换到AlertAcceptDismiss之前,请考虑将父窗口的windowHandle存储在String中,如下所示:

//Stores the parent window handle
String windowHandle = driver.getWindowHandle();

现在,您可以按以下方式切换到Alert AcceptDismiss

//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 );

如果这回答你的问题,请告诉我。