Selenium WebDriver:如何等待iFrames完全加载?

use*_*405 13 java iframe selenium selenium-webdriver

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

WebDriver frame = wait.until(ExpectedConditions.frameToBeAvailableAndSwitchToIt("frmMain"));
Run Code Online (Sandbox Code Playgroud)

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

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

Abh*_*ngh 13

选择IFrame上任何需要最长时间加载的元素,例如任何按钮或图像,并使用以下代码进行等待.

WebDriverWait wait = new WebDriverWait(driver, 30);
wait.until(ExpectedConditions.visibilityOfElementLocated((By
                .name("element"))));
Run Code Online (Sandbox Code Playgroud)

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