webdriver - 如何等待特定帧加载?我正在使用 selenium webdriver 2.24

标签 webdriver frames

我使用 webdriver 支持的 selenium 来等待特定帧的加载。因为在某些情况下,由于框架尚未加载,切换到特定框架会失败。 我使用的代码是

selenium.waitForFrameToLoad(frameJCLeft, strTimeOut);
driver.switchTo().defaultContent();
driver.switchTo().frame(frameJCLeft);

请告诉我是否有一种方法,因为我计划消除 selenium 支持的 webdriver 并仅使用 webdriver api

最佳答案

您可以使用 Web Driver Wait 和 Expected Condition 类来实现此目的。

试试这个代码。

  WebDriverWait wait = new WebDriverWait(driver,10);
  wait.until(ExpectedConditions.frameToBeAvailableAndSwitchToIt(frameName);

上面的代码将等待给定的帧长达 10 秒。如果该帧可用,则它会切换到给定的帧。否则,它会抛出 TimeoutException

时间限制取决于应用程序和用户的意愿。

了解更多信息http://selenium.googlecode.com/svn/trunk/docs/api/java/org/openqa/selenium/support/ui/ExpectedConditions.html#frameToBeAvailableAndSwitchToIt(java.lang.String)

关于webdriver - 如何等待特定帧加载?我正在使用 selenium webdriver 2.24,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14515120/

相关文章:

java - 如何从中获取文本字符串

javascript - 如何跨框架访问元素?

java - 如何使用 webdriver 获取元素的所有后代?

c# - Selenium 2 - 将焦点切换到没有名称/ID 的框架

html - 在可滚动的 HTML 框架上设置边框

javascript - iframe 的 contentDocument

javascript - 如何使用 JavaScript 从框架集框架内获取元素?

javascript - 从框架将事件发送到顶级文档?

Python - 断言页面中不应存在的文本字段

testing - 当 ATReporter 未对失败的测试进行截图时,如何更改浏览器页面