- 印刷
- ダークライト
記事の要約
この要約は役に立ちましたか?
ご意見ありがとうございます
JSステップでは、以下のような手順でなんらかの操作を実現する場面がよくあります。
- 要素を選択する
- 選択された要素に対する操作を行う
従来は、常にJSステップ内で querySelector()
などを使用して要素を選択する必要がありましたが、もう一つの方法、画面から要素を選択してJSステップの引数として渡す方法が取れるようになりました。
この方法を用いると、もはやCSSセレクターやXPathを書かずともJSステップで取り扱う要素を選択できるようになります!
使い方は以下の通りです。
- Autify Recorderでレコーディングを開始します。
- 対象要素を含むページに移動します。
- 対象の要素を右クリック(Macの場合はCtl + Click)します。
- コンテキストメニューから「JSステップを追加する」をクリックします。
- Autify Recorderで
保存
をクリックします。
すると新しいJSステップが作成され、引数に element
が指定されます。これがレコーディング中に選択された要素で、この element
に対して行いたい操作を通常のJavaScriptで実装することができます。
次の例では、選択された要素に対してダブルクリックをしています。要素を選択するためのコードが不要になっていることにお気づきでしょうか?
要素に対するJSステップの利点の1つは、サイト構造が多少変化しても、AIが要素探索を行うため、対象の要素を見つけることができる点です。これは従来、指定したCSSセレクタやXPathと完全に一致する要素がなくなった場合に、常にJSステップを更新する必要があったのとは対照的です。これにより、JSステップのメンテナンスコストを大幅に削減することができます!
注意
- モバイルサイズ(375x812)でレコーディングしている際に、要素に対するJSステップを追加するには、対象の要素を一度クリックすることでフォーカスをし、そのあとで要素に対するJSステップを追加する必要があります。この時不要なクリックステップがレコーディングされますので、このステップは削除してください。
- ローカルリプレイ後すぐに、対象の要素をクリックせずに要素に対するJSステップを追加し保存した場合、シナリオにステップが追加されません。
- 別の要素をクリックした後に、対象の要素をクリックせずに要素に対するJSステップを追加すると、別の要素に対するJSステップが追加されます。
- 常にN番目の要素を指定したいなど、AIの探索に頼らずに特定の条件のもとで要素を選択したい場合には、要素に対するJSステップは不向きです。引き続き、CSSセレクターやXPathで要素を指定するとよいでしょう。
この記事は役に立ちましたか?