如何在运行断言之前让Selenium等待转换页面重定向

时间:2010-01-06 15:53:14

标签: selenium selenium-ide

我有一个相当标准的情况:单击一个按钮,它会加载一个带有进度条的转换页面,然后该页面会重定向到下一页,这需要一段时间才能加载。

我想在最后一页上运行断言,而不是转换页面。在执行断言之前,如何告诉Selenium IDE等到最终页面加载?

谢谢。

4 个答案:

答案 0 :(得分:14)

一个简单的方法是等待最后一页上的某些“特定”文本,请参阅“waitForText”命令获取更多信息

答案 1 :(得分:8)

要添加到John的方法,您可以使用Selenium 等待机制来验证最终页面上的元素是否存在如下:

<强>爪哇:

WebDriverWait wait = new WebDriverWait(webDriver, 10); // seconds
wait.until(ExpectedConditions.visibilityOfElementLocated(By.id("foo")));

<强>红宝石:

wait = Selenium::WebDriver::Wait.new(timeout: 10) # seconds
wait.until { driver.find_element(id: "foo") }

这将适当地遵循所涉及的任何重定向。

来自https://code.google.com/p/selenium/wiki/RubyBindings

的示例

答案 2 :(得分:1)

您可以连续两次调用wait_for_page。第一个等待重定向,第二个等待最后一页。

答案 3 :(得分:0)

您还可以等到页面标题为预期值:

$driver->wait()->until(WebDriverExpectedCondition::titleIs('New page title from redirect'));