通常、分度器では、次の方法で特異要素を選択できます。
element(protractor.By.css('#fdfdf'));
時折、次のようなものが得られます。
element(protractor.By.css('.dfdf'));
複数の要素を持つ可能性があります。複数の要素を検索し、キーを送信するための分度器のメソッドを含むロケーターからインデックスを選択する正しい方法は何ですか?
通常、分度器では、次の方法で特異要素を選択できます。
element(protractor.By.css('#fdfdf'));
時折、次のようなものが得られます。
element(protractor.By.css('.dfdf'));
複数の要素を持つ可能性があります。複数の要素を検索し、キーを送信するための分度器のメソッドを含むロケーターからインデックスを選択する正しい方法は何ですか?
で返された配列からインデックス付きの要素を取得できます
// Get the 5th element matching the .dfdf css selector
element.all(by.css('.dfdf')).get(4).sendKeys('foo');
最初の要素を取得したい場合
element.all(by.css('.dfdf')).first();
element.all(by.css('.dfdf')).get(0);
これを試してみてください。それが動作します:
element.all(by.css('.dfdf')).get(4).getText();
なぜ xpath がそれほど過小評価されているのかわかりませんが、この問題を含め、xpath を使用して何千もの問題を解決できます。
let elem = element(by.xpath('(//div//a)[3]'))
使用する要素の数を指定できます。数値は、通常 js のように 0 ではなく、1 から始まることに注意してください。