3
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

Automation360 - Webサイトの表の中にあるリンクをクリックする

Last updated at Posted at 2020-12-16

Webサイトの表の中にあるリンクをクリックする

例えば、WebベースのEDIシステムなど、下記の様に表の中にリンクが現れることがあります。
これをクリックする方法です。

image.png

A2019のユニバーサルレコーダーを使ってキャプチャすると、下記の様にテーブルとして認識します。

HTMLの表をキャプチャ
image.png

そして、「テキストでセルをクリック」だったり、「インデックスでセルをクリック」というアクションがあり、
行けそう!と思うのですが、残念ながら、表の中の文字にリンクが設定されている場合は利用できません。

*下記の楽天トラベルWebサイトのカレンダーコントロールのように、文字の上ではなく、セル自体にリンクが設定されている場合は、「テキストでセルをクリック」や「インデックスでセルをクリック」が使えます。
image.png

では、どうしよう?

下記の様に処理する事で、目的のリンクをクリックすることが出来ます。

ステップ1 テーブルとしてデータを取得

まず、クリックしたい対象を特定する必要がありますので、テキストデータを取得します。
これは、1アクションですね。レコーダー:キャプチャで表を指定し、アクションで「テーブルを取得」、テーブル型変数を作成して指定します。
image.png

ステップ2 ループでデータを確認しながら、該当のところをクリック

ここでは、「オートメーション福岡」の注文データにアクセスしてみますが、
ループで順次値を確認しつつ、目的の行数を特定し、DOMXPathで指定することで実現しています。

下記がフローです。
image.png

ID アクション 説明
1 ループ 前のステップで取得したテーブル変数のデータを1行目から順に処理します。
image.png

|
| 2 | IF | テーブル変数の1列目の値を確認し、目的のアイテムの場合に処理をする。
ここでは、「オートメーション福岡」かどうかをチェックしています。
image.png
|
| 3 | 数字:文字列に変換 | カウンターの値(何行目が目的の値なのか)を、文字列変数に変換します。
image.png
|
| 4 | メッセージボックス | ここは、確認用にデータを表示。
image.png
|
| 5 | レコーダー:キャプチャ | ここが肝の処理です。
レコーダー:キャプチャを使って、リンク部分のテキストをキャプチャします。
それにより、HTMLの<A href>の部分が取得できます。
クリックしたい行数が既に取得できていますので、その行のデータをクリックするように、カウンター用の変数を使って指定します。

尚、HTML InnerTextやHTML Hrefなどのように、変動する要素がある場合は、「オブジェクトのプロパティ(x/x)」を展開してチェックを外してください。
image.png
|
| 6 | インクリメント | カウンター用に作っている数字変数を+1する
image.png
|

コメント・・・

他にもやり方はあるかと思いますが、参考になればと思います。

3
0
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
3
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?