私はcasperjsを使ってグリッドのようなウィジェットをテストしています。グリッドには多数の行が含まれています。 Shiftキーを押したまま行を複数選択することができます。次に、2つの行をクリックすると、2回クリックする行が選択されます。ここに私のコードセグメントは、この機能をテストすることです:casperjs/phantomjsのキー操作を「長押し」する方法をシミュレートするには?
casper.start(mytesturl);
this.then(function sendKeydown(){
//send Shift keydown event
this.page.sendEvent('keydown', '', null, null, 0x02000000);
});
this.then(function startClick(){
//click row 0
this.click('#row0', '50%', '50%');
});
this.then(function secondClick(){
//click row 3
this.click('#row3', '50%', '50%');
});
this.then(function sendKeyup(){
//send Shift keyup event
this.page.sendEvent('keyup', '', null, null, 0x02000000);
this.capture('afterKeyup.png');
});
私も試してみました。が、両方が失敗し、afterKeyup「this.page.sendEvent( 『keyUpイベント』、this.page.event.key.Shiftを)」 .png行0〜3が選択されているのではなく、行3のみが選択されていることを示します。
私は、CasperjsまたはPhantomjsが他のステップを実行するときにkeydownステータスを保持しないので、keyupイベントを送信するたびにShiftキーが最初に押されたときに動作し、 Shiftキーが現在押されていると思う(「keydown」)。
私は、クリックイベントを伴ってShiftキーを押し続けて達成するためにどのようにすればよいか知りたいですか?
ありがとうございます!代わりに、ページ上のイベントをトリガーする