0

[Chimp.js の使用 – 同期スタイルの webdriverio API]

要素の配列を適切に反復処理するにはどうすればよいですか? または、より具体的には、要素自体の属性にアクセスするにはどうすればよいでしょうか? API にある .elements() 関数と、そこから要素自体を抽出する方法について混乱しています。

var myItem;
var elemArray = browser.elements('.castMemberPicture').value;
console.log(elemArray);

for (myItem in elemArray){ 
    console.log("myItem: " + myItem);
    //  I can log the JSON obj IDs successfully, but can’t seem to access elements like clientHeight, alt, ...
};

属性にアクセスするにはどうすればよいですか?

(出力)

[ { ELEMENT: '0' },
  { ELEMENT: '1' },
  { ELEMENT: '2' },
  { ELEMENT: '3' }]
myItem: 0
myItem: 1
myItem: 2
myItem: 3

... .ELEMENT を呼び出すと未定義の呼び出しが発生するため、API / 構文を使用している可能性があります。

https://github.com/webdriverio/webdriverio/issues/273を見ましたが、 .ELEMENT .value と関数のどの組み合わせを試しても、属性にアクセスできません。ヘルプ?

console.log("myItem: " + JSON.stringify(elemArray[myItem].ELEMENT));注 -出力を使用して印刷して要素自体を探索しようとすると、

[ { ELEMENT: '0' },
  { ELEMENT: '1' },
  { ELEMENT: '2' },
  { ELEMENT: '3' }]
myItem: "0"
myItem: "1"
myItem: "2"
myItem: "3"
4

2 に答える 2

0

element「要素」のドキュメントによると、次のコマンドを使用して各要素に個別にアクセスできます。

要素の配列は、要素 ID のコレクションである「response.value」を使用して取得でき、「.ELEMENT」メソッドを使用して後続のコマンドでアクセスできます。

だからあなたのループのために:

var myItem;
var elemArray = browser.elements('.castMemberPicture').value;

for (myItem in elemArray){ 
    console.log( browser.getAttribute(myItem, 'alt'));
};
于 2016-10-06T01:53:19.470 に答える