Selenium等待弹出窗口

Selenium等待弹出窗口,selenium,popup,automated-tests,Selenium,Popup,Automated Tests,如何在弹出窗口打开之前停止selenium服务器 我们有selenium.waitForPageToLoad停止服务器,直到页面加载。但是有没有办法阻止它的出现呢 我用selenium.WaitForPopup尝试了它,但是我找不到popup id。因为我创建了一个带有div元素(其id是popup_容器)的弹出框 我尝试了以下代码: selenium.WaitForPopUp("id=popup_container", "30000"); 但这不起作用。有什么帮助吗?您的“弹出窗口”实际上不

如何在弹出窗口打开之前停止selenium服务器

我们有
selenium.waitForPageToLoad
停止服务器,直到页面加载。但是有没有办法阻止它的出现呢

我用selenium.WaitForPopup尝试了它,但是我找不到popup id。因为我创建了一个带有div元素(其id是popup_容器)的弹出框

我尝试了以下代码:

selenium.WaitForPopUp("id=popup_container", "30000");

但这不起作用。有什么帮助吗?

您的“弹出窗口”实际上不是一个弹出窗口,它只是一个div标签。因此,您希望等待该元素(div标记)出现。有一种方法可以检查元素是否存在:

selenium.IsElementPresent(div_of_the_popup)
您可以循环检查,直到元素出现或某个时间过期。您可以在另一个位置看到示例循环

Selenium的更高版本确实包含了执行wait for元素的方法。最终,解决问题的关键是等待DIV,而不是弹出窗口


更新:根据您的其他帖子,您似乎正在使用Selenium Webdriver。如果是这样的话,那么您可以使用selenium网页中的示例,您的“popup”实际上不是一个弹出窗口,它只是一个div标记。因此,您希望等待该元素(div标记)出现。有一种方法可以检查元素是否存在:

selenium.IsElementPresent(div_of_the_popup)
您可以循环检查,直到元素出现或某个时间过期。您可以在另一个位置看到示例循环

Selenium的更高版本确实包含了执行wait for元素的方法。最终,解决问题的关键是等待DIV,而不是弹出窗口

更新:根据您的其他帖子,您似乎正在使用Selenium Webdriver。如果是这样,那么您可以使用selenium网页上的示例

您的弹出窗口实际上是一个div。您可以这样做:

Wait.Until(ExpectedConditions.PresenceOfAllElementsLocatedBy(By.Id("Popup_Div_Id")));
C#

您的弹出窗口实际上是一个div。您可以这样做:

Wait.Until(ExpectedConditions.PresenceOfAllElementsLocatedBy(By.Id("Popup_Div_Id")));

为了澄清,弹出窗口是一个div标签,如图所示?为了澄清,弹出窗口是一个div标签,如图所示?