$コマンドと$$コマンドの目的がよくわかりません。 'by.css'の代わりにすぎないと思いましたが、なぜ$$なのですか?
_<element id = "eId"></element>
_
上記を考えると、これらは同等だと思いました。
_element(by.css('#eId'));
_
そして
_element($('#eId'));
_
ただし、最初のものは機能し、2番目のものは機能しません。なぜ、3つの違いは何ですか?
docs はほとんど役に立ちません。それらは、「$」がチェーン専用であることを暗示しているようです。 element(by.css('#eId')).element($('#childId'));
または「最初の要素を選択してから、最初の要素内の2番目の要素を選択します。」ただし、最初の要素を選択するために$が使用されている例を見てきました。
とにかく、それは「3つ(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));
};
_
そして 実際のコミット 最初にそれを実現させました。