我正在测试一个带有 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/