わかりました-他の誰かが興味を持っている場合に備えて(このことを理解しようとしているのは地球上で私だけではありません!)私は自分自身で質問1を解決しました:値をリストにハードコーディングすることにより、
element('li a')
...最後にリストされたアイテムを選択します。
そのため、'element()' でリスト内の特定の項目を選択するという一見解決不可能な問題に取り組みます。
console.log("ROYDEBUG: " + element('li a'));
...コンソールログに「ROYDEBUG: [object Object]」を返します。
しかし、「x」リスト項目があることを認識させることができます。私がこれを行う場合:
element('li a').query(function (selectedElements, done) {
selectedElements.each(function(idx,elm)
{
var thisOne = selectedElements[idx]; //<-- (same as "= this;").
console.log("ROYDEBUG: " + idx + " - " + thisOne);
//element(thisOne).click(); //<-- doesn't work :(
//element(this).click(); //<-- doesn't work :(
//element(selectedElements[idx]).click(); //<-- doesn't work :(
});
done();
});
次に、コンソールでこれを取得します。
ROYDEBUG: [object Object]
ROYDEBUG: 0 - http://localhost:9876/app/index.html#/coupon/100
ROYDEBUG: 1 - http://localhost:9876/app/index.html#/coupon/100
ROYDEBUG: 2 - http://localhost:9876/app/index.html#/coupon/100
ROYDEBUG: 3 - http://localhost:9876/app/index.html#/coupon/100
ROYDEBUG: 4 - http://localhost:9876/app/index.html#/coupon/100
ROYDEBUG: 5 - http://localhost:9876/app/index.html#/coupon/100
...リストに6つのアイテムがあることがわかります。ただし、これらの返された「要素」に「要素()。クリック()」を使用することはできません。これは、各リンクの「href =」部分からのテキスト文字列にすぎないためです(上記のコンソール出力でわかるように) .