如果SeleniumWebDriver只有src属性,如何让它等待iframe完全加载

如果SeleniumWebDriver只有src属性,如何让它等待iframe完全加载,iframe,selenium-webdriver,Iframe,Selenium Webdriver,如何使SeleniumWebDriver在只有src属性的情况下等待iframe完全加载。 我试图创建一个测试用例,其中包含表单元素的iframe从不同的源加载,而切换到此iframe时,此iframe的内容不可用,因此测试失败。因此,我如何使Webdriver等待iframe完全加载 您可以使用driver.switchTo().frame(..)切换到框架,然后等待元素加载到框架内。 使用隐式等待或显式等待来执行此操作,最好使用显式等待。这就是我在代码中执行此操作的方式: By by = B

如何使SeleniumWebDriver在只有src属性的情况下等待iframe完全加载。
我试图创建一个测试用例,其中包含表单元素的iframe从不同的源加载,而切换到此iframe时,此iframe的内容不可用,因此测试失败。因此,我如何使Webdriver等待iframe完全加载

您可以使用
driver.switchTo().frame(..)
切换到框架,然后等待元素加载到框架内。
使用隐式等待或显式等待来执行此操作,最好使用显式等待。

这就是我在代码中执行此操作的方式:

By by = By.xpath("//iframe[contains(@src,'')]");

    try
    {
        wait.until(ExpectedConditions.frameToBeAvailableAndSwitchToIt(by));

     //your actions on iframe here

}

您需要等待内容加载,因此使用显式等待直到内容加载并执行操作。它会等待帧完全加载吗?因为在我的例子中,帧需要很长的时间来加载,大约需要15-20秒的时间。。感谢回复。由于此FrameToBeAvailable和SwitchToIt以字符串作为参数,我是否必须重新定义或重新编写此方法以通过对象传递。“wait”这里基本上是WebDriverWait wait=new WebDriverWait(driver,200),200秒是它将继续查找帧的时间。Hi rishi,我将隐式时间保持在30秒,因此没有使用显式时间,因为帧加载在30秒的时间内。我的问题是,它是否会等待帧完全加载。我已经在使用]