我有一个相当标准的情况:单击一个按钮,它会加载一个带有进度条的转换页面,然后该页面会重定向到下一页,这需要一段时间才能加载。
我想在最后一页上运行断言,而不是转换页面。在执行断言之前,如何告诉Selenium IDE等到最终页面加载?
谢谢。
答案 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") }
这将适当地遵循所涉及的任何重定向。
的示例答案 2 :(得分:1)
您可以连续两次调用wait_for_page。第一个等待重定向,第二个等待最后一页。
答案 3 :(得分:0)
您还可以等到页面标题为预期值:
$driver->wait()->until(WebDriverExpectedCondition::titleIs('New page title from redirect'));