当前位置: 首页 > 知识库问答 >
问题:

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

邓深
2023-03-14

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

共有2个答案

蔺沛
2023-03-14

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

阮鸿煊
2023-03-14

我在代码中就是这样做的:

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

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

     //your actions on iframe here

}

 类似资料:
  • 这个网站我正在使用jSoup解析加载增量。我试图访问的数据在几秒钟后加载到页面中,但jSoup只获取最初加载的所有内容。 有没有办法强制jsoup在尝试解析页面之前等待页面完全加载,或者在延迟中构建页面以允许页面完全加载?

  • 有时我看到一些线程还没有完成他们的工作,服务杀死那个线程,我怎么能强迫服务等待,直到线程完成他们的工作? 这是我的代码: 我看到了一些例外。future.is完成())块。我怎么能确保每一个未来是当执行者服务关闭?

  • 我正在使用selenium web驱动程序3.4.0查找网站的响应时间。在较早的版本中,我使用了WebDriver wait=new WebDriverWait(driver,10);Wait.Until(ExpectedConditions.VisibilityOfElementLocated(By.id(“myid”)));查找加载的页面。 但这两行代码不适用于版本3.4.0。有没有其他方法可

  • 我打算在主线程中启动2个线程,主线程应该等到所有2个子线程完成,我就是这样做的。 在上面的代码中,确实让主线程等待子线程,但问题是,在第一个线程完成之前不会创建第二个线程。这不是我想要的。 我想要的是,这两个线程立即在主线程中创建,然后主线程等待它们完成。似乎做不到,是吗? 我想,也许我可以通过一个信号灯来完成这项工作,但还有别的方法吗?

  • 我正在尝试制作VGA文本动画的操作系统,但它的处理速度非常快。 所以,我想做“等待”功能,每次等待100毫秒,但我不知道如何不用std板条箱。 那么问题是,我如何在没有性病的情况下睡觉/等待生锈? 谢谢

  • 问题内容: 我的问题: 如何在a上执行一堆线程对象并等待它们全部完成后再继续? 我是ThreadPoolExecutor的新手。因此,此代码是测试以了解其工作方式。现在我什至都不用对象填充,因为我不理解如何在不调用另一个队列的情况下开始队列。无论如何,现在我只是打电话给我,但我认为我仍然缺少一些东西。任何提示都很棒!谢谢。 RunnableObject类: 问题答案: 你应该循环