【第36回】ロータス博士のWinActor塾~XPath
XPath
WinActor では、「画像マッチング」や7「エミュレーション」等、画面に対して操作を行うための様々なライブラリが用意されています。
XPathとは
XPathとは、Webページの特定箇所を指定し、その箇所に対して様々な操作を可能にするものです。
例えばこのRoTAS塾ですが、裏側でXmlという設定ファイルのようなものが用意されています。
XPathを使うと、この設定ファイル上で任意の箇所を指定することができます。
なんだか難しそうですね
画像マッチングで間に合っているので、使わないかと思います
まあそう言わず。
WinActorでXPathを使用する分には、具体的な仕組みを理解していなくても問題ないじゃろう。
XPathを使うと、いろいろメリットもあるんじゃぞ。
例えばカチシステムのホームページで、「ウェビナー毎週開催中!」の広告をWinActorにクリックさせるとしましょう。
画像マッチングを使用する場合、クリック対象の画像が見切れていたり、何か別の画面が被っていたりと、画像の表示のされ方によっては正しく認識できない可能性があります。
しかしXPathで指定する場合、WinActorはPC画面ではなく裏側の設定ファイルを見るため、PC画面の表示のされ方に影響を受けず対象を認識することができます。
PC画面の表示に影響されない…ということは、PCの解像度が違っていても認識できるのでしょうか?
その通りじゃ。より安定した動作になり、シナリオの保守性の向上にも繋がるぞい。
XPathを取得してみよう
それでは早速XPathを取得してみましょう。
いつもネットサーフィンをしているロータス君なら、何かしらブラウザが開いているじゃろう。
何のブラウザを使っておるかの?
まあ僕はプロサーファーですからね。
ええっと、Chromeを使っています。
ふむ。では今回はChromeの画面からXPathを取得する方法を説明しよう。
WinActorは以下の3つのブラウザに対応しています。
・Google Chrome
・Microsoft Edge
・FireFox
Microsoft Edge,FireFoxからのXPathの取得方法はこのブログでは省略いたします。
Chromeの画面を選択している状態で、キーボードのF12キーを押してください。
ブラウザに「開発者ツール(赤枠部分)」という画面が表示されます。
開発者ツールでは、WebサイトのHTMLやCSS等を編集・確認することができます。
XPath取得箇所を選択
開発者ツールの左上にあるアイコンをクリックします。
この状態でWebページの任意の箇所を選択すると、開発者ツール上で選択箇所のHTMLやCSSを確認することができます。
ここでは、「ウェビナー毎週開催中!」のXPathを取得してみます。 開発者ツールのアイコンをクリック後、そのまま「ウェビナー毎週開催中!」の広告画像をクリックしました。
開発者ツールを確認すると、広告画像部分のHTMLがハイライト表示されています。
ハイライト箇所を右クリックし、Copy→Copy XPathを選択します。
Copy XPathを選択しました。
これでXPathが取得できているのでしょうか?
できておるとも。メモ帳などに貼り付けて確認してみよう!
取得したXPath
ブラウザ関連ライブラリ
WinActorでは、「ブラウザ関連」ライブラリでXPathを使用します。
ブラウザ関連ライブラリには、ブラウザ操作のための様々なライブラリが用意されています。
先ほど取得したXPathを用いて、クリック操作を行ってみましょう。
ライブラリ「クリック」をシナリオ内に配置します。
【ライブラリ】23_ブラウザ関連>クリック
プロパティ画面を開き、以下のように設定します
①どのブラウザに対して操作を行うか、ブラウザ名で指定することができます。
※ブラウザ名はライブラリ「ブラウザ起動」で設定します。
※ライブラリ「ブラウザ起動」でブラウザ名を設定していない場合、この箇所は空白でも問題ありません。
WinActor Ver7.2.1環境では、「ブラウザ名」の設定も必須となりました。ブラウザ名には、任意の名前を直接、もしくは変数にて設定してください。
②ブラウザから取得したXpathを設定します。
簡単ですね! よし、実行してみよう
……
すまぬロータス君、説明が足りておらんかった。
「ブラウザ関連ライブラリ」で操作をするためには、ブラウザもWinActorが立ち上げないといけないのじゃ。
WinActorの「ブラウザ関連」ライブラリは、WinActor自身で立ち上げたブラウザに対してのみ動作します。
事前に人の手で立ち上げたブラウザは操作できないため、最初に必ずWinActorがブラウザを立ち上げる操作を設定する必要があります。
そうだったんですね。
己のブラウザは己で切り開く…僕もかく在りたいものです
(何やら変なモードに入ってしまったようじゃな…)
よ、よし。このシナリオに「ブラウザ起動」の設定を追加してみようではないか!
ライブラリ「ブラウザ起動」をシナリオ内に配置します。
【ライブラリ】23_ブラウザ関連>ブラウザ起動
プロパティ画面を開き、以下のように設定します
①起動するブラウザに名前を付けることができます。名前をつけることで、ブラウザを複数立ち上げることが可能です。
②起動するブラウザの種類を選択できます。※ブラウザによっては、一部使用できないブラウザ関連ライブラリがあります
③以降のブラウザ関連ライブラリ使用時に、Webページの要素検索にかける時間を設定できます。
そうそう、もう一つ「ページ表示」ライブラリも入れないといかんな。
ブラウザ起動はブラウザが立ち上がるだけで、ページ自体は空白なのじゃ。
ライブラリ「ページ表示」をシナリオ内に配置します。
【ライブラリ】23_ブラウザ関連>ページ表示
プロパティ画面を開き、以下のように設定します
①どのブラウザに対して操作を行うか、ブラウザ名で指定することができます。
※ブラウザ名はライブラリ「ブラウザ起動」で設定します。
※ライブラリ「ブラウザ起動」でブラウザ名を設定していない場合、この箇所は空白でも問題ありません。
「ブラウザ起動」で設定したものと同じブラウザ名を設定してください。
②ブラウザ上で表示したいページのURLを指定します。
待たせたな、ロータス君!これで完璧なはずじゃ。 さあ、実行ボタンを押してみてくれい!
本当かなぁ…(ポチッ)
お…おお!博士、やりましたね!
うむ!これで君もミスターXじゃ!
よし、このままカチシステムのセミナーをチェックするシナリオを作ってみます!
セミナーは随時新しいものが出ておるからのう!
見逃さないよう毎日ロボットにチェックさせるとよいじゃろう!
(毎日か…ロボットを毎日自動で動かせる方法があったらなぁ)
関連記事こちらの記事も合わせてどうぞ。
2024.11.05
【第105回】ロータス博士のWinActor塾~新しい画像マッチング画面
2024.09.27
【第104回】ロータス博士のWinActor塾~ガイド利用シナリオ(作成編)
2024.09.10