量角器中的by.tagName与by.css

时间:2018-12-20 23:34:15

标签: javascript selenium protractor

当通过标签名称搜索元素时,我们可以这样做:

element(by.tagName("my-tag-name"));

或者,我们也可以这样做:

element(by.css("my-tag-name"));  // or $("my-tag-name")

在查看其他人的合并请求时,我经常看到后者。可能是因为by.css()通常被更广泛地使用,并且人们经常忘记使用专门的定位器。

按标签名称搜索时,两者之间在功能或性能上有什么区别吗?

1 个答案:

答案 0 :(得分:3)

在量角器by.tagNameby.css中,是从webdriver.WebDriver继承的,

在webdriver.WebDriver implement中,by.tagName将转换为呼叫by.css,如下所示:

  /**
   * Locates elements with a given tag name.
   *
   * @param {string} name The tag name to search for.
   * @return {!By} The new locator.
   * @deprecated Use {@link By.css() By.css(tagName)} instead.
   */
  static tagName(name) {
    return By.css(name);
  }

因此by.tagName(<tag name>)等同于量角器中的by.css(<tag name>)