代码之家  ›  专栏  ›  技术社区  ›  Rodreegez

等待iframe打开并加载Selenium

  •  4
  • Rodreegez  · 技术社区  · 15 年前

    我有一个应用程序,用户点击一个按钮,触发一个iframe打开。在继续之前,我真的很难等待这个框架打开一个负载。

    我不能用:

    wait_for_page_to_load
    

    因为加载的不是页面,而是iframe。

    我不能用:

    select_frame
    

    因为帧还没有加载

    所以我只剩下一个丑陋的人

    sleep(3)
    

    在我选择框架并声明它之前。

    有什么关于如何正确操作的建议吗?我不想使用lib特定的JS,因为我正在提取一个SeleniumDSL用于多个项目。另外,我使用的是Selenium客户机,所以任何基于Ruby的都是一个优点。

    干杯,

    广告。

    编辑:我似乎无法使用:

    wait_for_frame_to_load
    

    或者,它超时。

    1 回复  |  直到 15 年前
        1
  •  3
  •   AutomatedTester    15 年前

    不确定这是否有效,因为iframes在一个单独的沙盒中运行到普通帧,因为您可以进行跨站点页面调用,并且它们可能有自己的javascript,您将无法与之交互。

    @selenium.wait_for_frame_to_load "iframe", "30000"
    

    可以 如果您在chrome或iehta中运行测试,但目前没有任何可供测试的内容,则可以使用