我不太了解$和$$命令的用途。我以为它们只是’by.css’的替代品,但是为什么$$呢?
<element id = "eId"></element>
我认为,鉴于以上所述,这些将是等效的:
element(by.css('#eId'));
和
element($('#eId'));
但是,第一个有效,第二个无效。为什么,这三者有什么区别?
该文档没有什么帮助。他们似乎暗示“ $”仅用于链接,例如element(by.css('#eId')).element($('#childId'));或“选择第一个元素,然后选择第一个元素内的第二个元素”。但是,我看到了使用$来选择第一个元素的示例。
element(by.css('#eId')).element($('#childId'));
无论如何,“这三个(by.css,$和$$)之间的区别是什么?”的文字很多。
$并且$$只是方便的快捷方式。
$
$$
$("selector")是的替代方案element(by.css("selector"))。
$("selector")
element(by.css("selector"))
$$("selector")是的替代方案element.all(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)); };
最初实现它的实际提交。