40

通常、分度器では、次の方法で特異要素を選択できます。

element(protractor.By.css('#fdfdf'));

時折、次のようなものが得られます。

element(protractor.By.css('.dfdf'));

複数の要素を持つ可能性があります。複数の要素を検索し、キーを送信するための分度器のメソッドを含むロケーターからインデックスを選択する正しい方法は何ですか?

4

4 に答える 4

78

で返された配列からインデックス付きの要素を取得できます

// Get the 5th element matching the .dfdf css selector
element.all(by.css('.dfdf')).get(4).sendKeys('foo');
于 2013-12-04T22:51:28.553 に答える
19

最初の要素を取得したい場合

element.all(by.css('.dfdf')).first();
element.all(by.css('.dfdf')).get(0);
于 2016-11-22T21:12:39.250 に答える
3

これを試してみてください。それが動作します:

element.all(by.css('.dfdf')).get(4).getText();
于 2016-09-22T05:39:10.277 に答える
0

なぜ xpath がそれほど過小評価されているのかわかりませんが、この問題を含め、xpath を使用して何千もの問題を解決できます。

let elem = element(by.xpath('(//div//a)[3]'))

使用する要素の数を指定できます。数値は、通常 js のように 0 ではなく、1 から始まることに注意してください。

于 2021-02-09T02:02:25.647 に答える