【问题标题】:Are elements guaranteed to return in the order they appear in DOM?元素是否保证按照它们在 DOM 中出现的顺序返回?
【发布时间】:2015-05-27 18:01:12
【问题描述】:

我正在使用WebdriverIO 来驱动我的 Selenium 服务器,但我很好奇 Selenium 规范或 CSS 规范中是否有保证元素按照它们在页面上出现的顺序返回.

例如:

<ul>
 <li>One</li>
 <li>Two</li>
 <li>Three</li>
</ul>

如果我做driver.getText('li');,我保证它会返回:

['One', 'Two', 'Three']

或者是否存在未定义行为的情况?也许还有,我应该期待什么样的行为?我想这可能是深度优先搜索?

【问题讨论】:

    标签: selenium selenium-webdriver webdriver-io


    【解决方案1】:

    是的,订单由WebDriver specification保证:

    所有元素定位策略都必须按照它们在当前文档中出现的顺序返回元素。

    【讨论】:

    • 太棒了,我必须从头到尾阅读。有趣的是,这也回答了它是广度优先还是深度优先遍历。
    • 哇!这也是我的问题之一。谢谢你们俩
    • @Breedly 仅供参考,我已经修复了链接(现在它指向一个新的规范)。谢谢。
    • @alecxe 我想知道弹出窗口是否也相应地排序
    • @Saifur 是的,窗把手没有订单:上面写着The Get Window Handle command returns a list of window handles for every open top-level browsing context. The order in which the window handles are returned is arbitary.
    猜你喜欢
    • 2012-02-29
    • 2010-10-01
    • 2010-11-04
    • 2013-01-19
    • 2012-06-18
    • 2010-11-23
    • 2020-06-18
    • 1970-01-01
    • 2023-02-16
    相关资源
    最近更新 更多