• 当两者的工作原理完全相同时,为什么我们需要element(...).getWebElement()而不是element(...)
  • 为什么两个API具有相同的功能
  • 最佳答案

    ProtractorWebDriverJS(JavaScript Selenium 绑定(bind))的便捷包装。

  • element(...)将导致 Protractor
  • 中引入的 ElementFinder instance
  • element(...).getWebElement() 将由WebElement生成WebDriverJS实例。基本上,这使您可以访问纯“裸机” WebElement


  • 使用getWebElement()的最常见用例是当您需要将ElementFinder作为脚本参数传递时-当前,您必须调用getWebElement()才能起作用:
    var elm = element(by.id("myid"));
    browser.executeScript("arguments[0].click()", elm.getWebElement());
    

    有一个open feature-request to be able to pass ElementFinder directly:
    browser.executeScript("arguments[0].click()", elm);  // not gonna work as of now
    

    10-01 12:44