量角器“by.css()“;与“$()“;美元符号与"$$()"& # 39;珠宝奢侈品# 39;

Protractor "by.css()" vs "$()" Dollar Sign vs "$$()" 'Bling Bling'

本文关键字:quot 奢侈品 by css 量角器 美元 符号      更新时间:2023-09-26

我真的不明白$和$$命令是干什么用的。我以为它们只是"by.css"的替代品,但为什么是$$?

<element id = "eId"></element>

我想,给定上述条件,它们应该是等价的:

element(by.css('#eId'));

element($('#eId'));

然而,第一个有效,第二个无效。为什么,这三者有什么区别?

这些文件帮不上什么忙。它们似乎暗示"$"仅用于链接,例如element(by.css('#eId')).element($('#childId'));或"选择第一个元素,然后选择第一个元素中的第二个元素"。但是,我见过使用$来选择第一个元素的例子。

无论如何,这三个(by.css, $和$$)之间的区别是什么?

$$$只是方便的快捷键。

$("selector")element(by.css("selector"))的替代品。

$$("selector")element.all(by.css("selector"))的替代品。


仅供参考,引用源代码:

ElementFinder.prototype.$ = function(selector) {
  return this.element(webdriver.By.css(selector));
};
ElementArrayFinder.prototype.$$ = function(selector) {
  return this.all(webdriver.By.css(selector));
};