【问题标题】:How to switch web driver to an unknown frame?如何将 Web 驱动程序切换到未知框架?
【发布时间】:2014-12-26 01:19:54
【问题描述】:

我正在编写一个 java 工具,它将为最终用户创建 selenium 脚本。在帧切换的情况下,我不能依赖最终用户找出帧信息。用户可以提供定位器值,但我的工具需要能够确定它属于哪个框架(它是层次结构)并在采取下一步行动之前切换到那个框架。

有什么方法可以让我的 Selenium Web 驱动程序获取该框架?

PS:我可以使用已知帧对工作流程进行硬编码并进行切换。

【问题讨论】:

    标签: selenium web driver frame


    【解决方案1】:

    我能想到的一个解决方案是,检查当前上下文(帧)上是否存在提供的定位器/元素,如果它引发 NoSuchElementException 异常,则获取页面上的所有可用帧 - driver.findElements(By.tagName("iframe")) 并在循环中尝试要切换到基于 WebElementdriver.switchTo().frame(<element>) 的可用帧,现在再次检查是否存在提供的定位器/元素。找到提供的定位器/元素后,中断循环并继续执行。

    【讨论】:

    • 这里有过多的嵌套/控制切换,但是是的,如果没有其他任何东西,看起来确实是一种方式。
    猜你喜欢
    • 2012-09-25
    • 1970-01-01
    • 2012-07-06
    • 2019-01-06
    • 1970-01-01
    • 2017-08-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多