Как дождаться загрузки определенного кадра? Я использую selenium webdriver 2.24
Я использовал selenium с поддержкой webdriver, чтобы дождаться загрузки определенного кадра. так как в некоторых случаях переключение на определенный кадр не удается, потому что кадр не загружен. Я использую код
selenium.waitForFrameToLoad(frameJCLeft, strTimeOut);
driver.switchTo().defaultContent();
driver.switchTo().frame(frameJCLeft);
Пожалуйста, дайте мне знать, если есть метод, поскольку я планирую устранить selenium backed webdriver и использовать только api webdriver
2 ответа:
Вы можете использовать веб-ждать водителя и ожидаемое условие для достижения этой цели.
Попробуйте этот код.
WebDriverWait wait = new WebDriverWait(driver,10); wait.until(ExpectedConditions.frameToBeAvailableAndSwitchToIt(frameName);
Приведенный выше код будет ждать
given frame up to 10 seconds
. Если кадр доступен, то он переключается на данный кадр. В противном случае он выбрасываетTimeoutException
.Ограничение по времени зависит от приложения и желания пользователя.
Для получения дополнительной информации http://selenium.googlecode.com/svn/trunk/docs/api/java/org/openqa/selenium/support/ui/ExpectedConditions.html#frameToBeAvailableAndSwitchToIt(java.lang.String)
Я бы переключился на использование Selenium 2 и использовал RemoteWebDriver вместо "WebDriver backed selenium 1.0 stuff". Затем я играл с WebDriver.TargetLocator .