1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

BizRobo! Webブラウザ操作でのHTML要素指定の考え方

Posted at

はじめに

ビズロボでブラウザ操作をする際によく用いるファインダーの指定についてです。

ブラウザでのクリック操作、入力、抽出などでよく使用しますが、
設定で迷うことが多くあります。

今回はファインダー設定についての考え方を共有していきます。


ファインダーはプロパティのファインダータブより設定が可能です。

6.png

大前提

ビズロボを運用していると、ロボ内でアクセスしているサイトの画面(UI)が変わることでエラーが発生することが出てくると思います。
その際に、大きく考え方が2つあるのではないかと思います。

1.画面構造が変わった際にはすぐにエラーとなるように作成しておく

画面構造が変わっても、ファインダーの指定方法によっては、
エラーなく通過することもありますが、意図しない操作を防ぐためにできるだけ画面構造が変わった際にはエラーを出すという考え方があると思います。

2.大幅な画面変更がない限り、できるだけエラーが発生しないように作成しておく

一方で画面構造が変わったとしても、
できるだけエラーを発生させないように作成する考え方です。
改修の工数がかからず保守性が高いといえます。

特にログイン画面など画面構造が変わったとしても行う処理には変更が起こらないものに関しては、こちらのできるだけエラーを発生させないようなファインダーの設定が良いと考えています。

ファインダーの大まかな設定箇所

1.検索範囲

画面内での任意の場所か特定の範囲(名前付きタグ)から検索をするかを指定します。

8.png

基本的にはページ内の任意の場所としておりますが、
id指定やパターン一致で一意の値の検索が難しい場合は、
範囲指定をしたうえで特定のタグを検索する名前付きタグを指定するような使い方をしております。

2.タグ パスおよび属性名・属性値

HTML構造での検索条件となります。
下記画像のようにタグ パスおよび属性を用いて特定のタグを検索します。
id属性(ページ内で一意の値)がある場合には設定しやすいですね。

17.PNG



id属性がない場合に関しては、classやパターン一致を用いて指定をします。

classやname属性で指定をする場合には、
一意の値ではないということを念頭に置き、
名前付きタグで範囲指定を行うもしくは、
下記画像のように要素にインデックスを付けて指定します。

image.png

※インデックスを付ける場合には、
画面構造に変更があった場合に修正が必要となりますが、
IDとPWのように順番が基本的に入れ替わることがない場合については、インデックスでの指定をしております。

4. タグパターン

主に取得したい要素のテキストと一致するものを検索する場合に使用することが多いです。
class名指定では同じページ内に複数ある可能性があるため、class名とタグパターンを組み合わせることで検索処理の精度を上げることができます。

11.PNG

最後に

ファインダー設定については、
HTMLの理解、そして保守性を意識した設定が大切になります。

また、ファインダー設定の方針をメンバー内で認識を合わせていくことで、
その後の改修対応がスムーズに進みます。

ステップ一つひとつの処理に対して、
丁寧に設定することでより良いロボットになっていくと考えています。


最後まで見ていただきありがとうございました。
1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?