java - Selenium WebDriver : How to wait for iFrames to load completely?

标签 java selenium iframe selenium-webdriver

我正在测试一个带有 iFrame 的页面,其内容由 JavaScript 动态生成。我必须等待 iFrame 完全加载以确保所有元素都存在。我尝试了以下代码,它没有用。

WebDriver frame = wait.until(ExpectedConditions.frameToBeAvailableAndSwitchToIt("frmMain"));

我还尝试等待 iFrame 中的某些元素出现。它没有用,也没有。

任何帮助将不胜感激,谢谢!

最佳答案

选择 IFrame 上加载时间最长的任何元素,例如任何按钮或图像,然后使用以下代码等待。

WebDriverWait wait = new WebDriverWait(driver, 30);
wait.until(ExpectedConditions.visibilityOfElementLocated((By
                .name("element"))));

或者您可以等待 iFrame 出现然后切换到它,然后使用上面的语句!

关于java - Selenium WebDriver : How to wait for iFrames to load completely?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18486511/

相关文章:

java - JOGL 顶点限制在 0f 和 1f 之间

java - 如何使用 selenium-webdriver 和 Java 单击日历图像图标

python Selenium : can't figure out xpath to clickable link element in span tag

javascript - 将鼠标悬停在 iframe 上后,不会触发文档上的 Mouseup 事件

javascript - 覆盖 iframe 内容 css

javascript - 如何在 typescript 中更改iframe src属性

java - 如何使用 CvCameraViewListener 快速访问每一帧的像素颜色

java - 如何从更深一层将对象绑定(bind)到数组 1 之外

python - Python/Selenium/Chrome 针对不同错误的冲突解决方案

java - 使用 JAVA 将 .docx 转换为 HTML