目次
XPathは、WEBページの処理対象を特定するための「住所」 と考えていただくと分かりやすいと
思います。
XPathの取得内容次第では、ちょっとしたページの変化でXPathが変わってしまい、操作が止まって
しまったり、想定外の操作をされてしまう場合が出てきます。
なるべく誤操作を起こさないためのXPathの指定方法を、基本から順にお伝えしていきます。
まずは、使用するブラウザの種類、WinActorでのブラウザの操作設定を事前に決めておきます。
現在WinActorで自動化できるブラウザは以下の4つです。
Internet Explorer(IE)
Microsoft Edge
Google Chrome
Firefox
ブラウザの操作の自動化については、Internet Explorer以外のブラウザでの自動化をおすすめします。
その理由として、Internet Explorer(以下IEと表示)は、デスクトップアプリとしてのIEが終了している
からです。
また、EdgeのIEモードでの提供もありますが2029年までの提供とされておりますので、
いずれにしてもシナリオの作り直しが発生するためです。
本記事では、主に利用されているChromeとEdgeのブラウザの自動化について解説していきます。
WinActorでのブラウザ操作には2種類の方法があります。
・WebDriver
・新たなブラウザ拡張機能
おすすめはWebDriverでの操作です。(設定も簡単です)
新たなブラウザ拡張機能は、外部からWebDriverをダウンロードできない環境など、パソコンの利用に
制限のある場合に設定します。
古いパソコンだと動作が遅い場合がありますので、できればWebDriverでの操作方法をおすすめします。
ちなみに、WebDriverが最新の場合でないと作成したシナリオが動かない場合もありますので、事前に
確認しておくことをおすすめします。
最も設定しやすい手順について解説していきます。
※ WEBページの構造によっては手動でXPathを設定する必要があります。
※ 今回はChromeの場合で説明していきます。
WebDriverを使用したブラウザの自動化の手順は、以下の作業手順になります。
1.ライブラリ[ブラウザ起動]を配置
2.ライブラリ[ページ移動]を配置
3.使用するブラウザ関連ライブラリを配置
これらの手順で、基本的な操作は可能になります。
ライブラリを開き、[23_ブラウザ関連]>[01_起動&クローズ]>[・ブラウザ起動]を
ドラッグ&ドロップでフローに配置します。
ライブラリ[ブラウザ起動]をダブルクリックしてプロパティを開き、ブラウザ名とブラウザ種類を
設定します。
ブラウザ名は、プロパティ内に直書きしてもいいですが、変数を設定することも可能です。
ブラウザ種類は、使用したいブラウザをプルダウンメニューから選択します。
(今回は「Chrome」を選択)
ライブラリを開き、[23_ブラウザ関連]>[・ページ表示]をドラッグ&ドロップでフロー内の
ライブラリ[ブラウザ起動]の下に配置します。
ライブラリ[ページ表示]をダブルクリックしてプロパティを開き、ブラウザ名とURLを設定します。
ブラウザ名は、直前に配置したブラウザ関連ライブラリがあれば、初期値で値が設定されます。
(なければ自分で設定する必要があるので注意)
URLは、開きたいWEBページのURLを設定します。こちらもプロパティ内に直書きしてもいいですが、
変数を設定することも可能です。
ここでは、クリックの操作設定について説明します。
ライブラリを開き、[23_ブラウザ関連]>[03_クリック]>[・クリック]をドラッグ&ドロップで
フロー内のライブラリ[ページ表示]の下に配置します。
ライブラリ[クリック]をダブルクリックしてプロパティを開き、ブラウザ名とXPathを設定します。
ブラウザ名は、直前に配置したブラウザ関連ライブラリがあれば、初期値で値が設定されます。
XPathは、操作したいブラウザから取得します。
WinActorのプロパティの機能で取得する方法を解説します。
押すとブラウザが起動します。
すでに起動されているブラウザがあれば前面に表示されます。
押下してから先ほど起動したブラウザにマウスポインターを置くと、選択できる場所の色が変わります。
色が変わった部分を押下すると、プロパティのXPathに値が直書きされます。
これでほぼブラウザ操作の自動化が可能になります。
ただ、WinActorのプロパティの機能ではXPathを取得できないWEBページもあります。
また、WEBページの構造変化や選択した要素の場所によって、思い通りに操作できない場合もあります。
その場合は、XPathの取得方法や書き方を少し工夫するだけで、操作の確度を上げることが可能です。
基本操作でXPathを設定できない場合は、以下の方法を試していく必要があります。
WEBページの作りによっては、WinActorの機能で取得できない場合もあります。
また、キー[F12]を押下したら別の処理が働くように作られている場合もあります。
そのため、手動でXPathを取得する場合は以下の方法を試してみてください。
押下すると、開発者ツールの画面が表示されます。(下図だと画面右側に表示)
開発者ツールにて以下の操作をするとXPathが取得できます。
① 開発者ツール画面左上の[要素選択モード]のボタンを押下
② 指定したい要素をマウスポインターでクリック
③ 開発者ツール画面の青く選択された部分を右クリック
④ 表示されたコマンドの[Copy]にマウスポインターを置く
⑤ さらに表示されたコマンドの[Copy XPath]をクリック
クリップボードにXPathが取得できた状態になるので、XPathを入れたい場所に貼り付けをして
指定することが可能です。
押下して、表示されたコマンドの[検証]をクリックします。
開発者ツールが表示されるので、XPathの取得は上記「キー[F12]を押下する」の手順と一緒です。
① 開発者ツール画面左上の[要素選択モード]のボタンを押下
② 指定したい要素をマウスポインターでクリック
③ 開発者ツール画面の青く選択された部分を右クリック
④ 表示されたコマンドの[Copy]にマウスポインターを置く
⑤ さらに表示されたコマンドの[Copy XPath]をクリック
クリップボードにXPathが取得できた状態になるので、XPathを入れたい場所に貼付けをして指定する
ことが可能です。
いろいろ開発者ツールの画面を開く手段はあるようですが、調査に時間がかかるようなら、いったん
画像マッチングやエミュレーションで回避するのも手だと思います。
または、WinActorを購入した特約店や販売店に一度ご相談いただくことをおすすめします。
(有料にはなるかもしれませんが解決方法が見つかることもあります)
苦労して手動で取得できたXPathも、同じ名前のXPathがいくつもあると特定できなくなります。
取得したら、念のため同じ名前がないか確認してみて下さい。
① 開発者ツール画面の検索画面にXPathを入力(検索欄が無ければ[Ctrl]+[F]を押下すると表示される)
② 検索欄に「1 of 1」を表示されていれば問題なし
取得できるXPathも実は2種類あります。
下記はどちらも同じ要素のXPathです。
完全なXPath /html/body/div[1]/div/div[1]/div[1]/a
短いXPath //*[@class='button-detail']
完全なXPathの場合、1つでも要素が増減すると操作に影響が出る場合があります。
短いXPathの場合、同じXPathが存在すると1つに特定ができない場合があります。
一長一短がありますが、記述方法を工夫すると一つに特定することが可能です。
記述方法については、NTTアドバンステクノロジ株式会社から公式に出ている資料を参考にしてみて
下さい。
▶ WinActorにおける XPathによる要素選択の一手法
WEBページにフレーム構造があると、XPathの指定だけでは動かすことはできません。
ライブラリ[フレーム選択]を使用してフレームを切り替えながら操作する必要があります。
まずはフレーム構造の有無を検索してみてください。
開発者ツールの画面の検索欄に「frame」と打ち込んで検索すると判明します。
(frameやiframeがあればフレーム構造)
文字リンクからは資料がダウンロードできます。
よろしければご活用ください。
いかがでしたでしょうか?
ブラウザ操作については、XPathが苦手で取り組めていなかった方もいらっしゃったかと思います。
それ以外に、作り手によって構造を見極める必要があるため、思い通りに操作できなかった方も
いらっしゃったのではないでしょうか。
手順を踏めば操作の確度が向上しますので、動画や資料を参考に学び直ししてみてください!
上記情報を参考に、楽しいWinActor開発に着手いただければと思います!
効率的・効果的に開発を進めたい方や、RPAの活用・運用でお困りごとがある方は
こちらをご活用ください。
本コラム内容について
各コラムの内容は、執筆時点での情報を元にしています。
製品バージョンアップなどにより、最新ではない場合がありますので、最新の情報は、製品の
公式文献などを参考にすることをおすすめいたします。
各コラムの内容は、当社技術支援チームが実際の経験に基づいたTipsとなりますが、利用することによって生じたあらゆる不利益または損害に対して、弊社では一切責任を負いかねます。
一つの参考としていただき、利用いただく際は、各社のルール・状況等に則りご活用いただけますと
幸いです。
※「WinActor®」は、NTTアドバンステクノロジ株式会社の登録商標です。