【问题标题】:Change focus to parent element using NightwatchJS使用 NightwatchJS 将焦点更改为父元素
【发布时间】:2014-04-19 00:51:07
【问题描述】:

使用 .frame JSON Wire Protocol 调用可以更深入地移动到 DOM 树中,但我无法找到向上移动通过 DOM 树的方法。

    module.exports = {
        "Enter and exit iframes in tree" : function(browser){
            browser
                //Currently focus is at top level.
                .frame('iframeOne')
                //Focus is now enters inner frame iframeTwo
                .frame('iframeTwo')

                //Attempt to move to frame directly
                .frame('iframeOne')
                //Selenium Error 'no such frame'

                //Attempt to move focus up to iframeOne by searching from root.
                .element('id', 'iframeOne', function(e){
                    browser.frame(e.value);
                }
                //Selenium Error 'no such element'

    }

有一个 JSON Wire Protocol 调用 frame/parent 能够向上移动到父元素,但 NightWatchJS 目前不支持它。任何建议将不胜感激。

【问题讨论】:

    标签: javascript node.js selenium selenium-webdriver automated-tests


    【解决方案1】:

    在当前的二进制版本中,您需要使用switchToDefaultContent 命令。在 Java 中,这表现为driver.switchTo().defaultContent()。这会将您带到框架层次结构的顶部,然后您可以向下导航到所需的框架。

    “导航到父框架”有线协议是全新的。在撰写本文时,以天为单位。在撰写本文时,不存在理解该有线协议端点的已发布服务器实现。 Firefox 驱动程序仅在最后一天左右实现了它。 IE 驱动程序的工作尚未开始。它还没有在除 Java 之外的任何语言绑定中实现,并且仅在源代码树中;它还没有以二进制形式发布。如果你有耐心,它会在未来提供给你(没有可用的时间表,所以不要问),只是现在还没有。

    【讨论】:

    • 谢谢,如果我使用本机 Node.js,我相信这会起作用 | WebdriverJS 代码。 NightwatchJS 框架目前不支持 switchTo() 调用。
    • 事实上,.frame(null) 等同于driver.switchTo().defaultContent()。为什么,哦,为什么 JavaScript 开发社区必须遭受 Not Invented Here Syndrome 并在已经存在完美的绑定的情况下激增大量的 JavaScript 语言绑定?我知道 WebDriver 至少有六个独立的 JavaScript 绑定。顺便说一句,这是一个反问。 PHP 社区似乎也遇到了同样的问题。
    【解决方案2】:

    我能够通过将焦点重新设置回顶级元素并再次向下爬来解决这个问题。

        .frame(null)
        .frame('iframeOne')
    

    这是一个可行的解决方案。

    【讨论】:

    • 这正是我的回答所说的,当它提到使用命令“带你到框架层次结构的顶部”时。
    猜你喜欢
    • 1970-01-01
    • 2013-12-05
    • 1970-01-01
    • 2012-10-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-12-18
    相关资源
    最近更新 更多