こんにちは!
今回はUiPathでセレクターを動的に変更するやり方を書きたいと思います!
同じことをやるんだけど、アプリが違ったりサイトが違ったりするとセレクターが変わってしまってうまく認識してくれないんですよね。
というわけで、さっそくいきましょう!!
ワイルドカードの知識はある前提でいきますよぉぉぉぉおお!
セレクターの書き方(ワイルドカード編)
ちなみに、UiPathには「スクリーンショットを撮る」というアクティビティがあります。
「スクリーンショットを撮る」アクティビティで、https://google.comを選択するとこんなセレクターが抽出されました。
<html app='chrome.exe' title='Google' />
<webctrl id='viewport' tag='DIV' />
スクリーンショットを撮りたいサイトがすべて「Google」から始まるタイトルだとしましょう
その場合はセレクターはこのように変更します。
<html app='chrome.exe' title='Google*' />
<webctrl id='viewport' tag='DIV' />
Googleの後にアスタリスクを付けました。
逆にGoogleで終わる文字列であればこうなります。
<html app='chrome.exe' title='*Google' />
<webctrl id='viewport' tag='DIV' />
逆に逆に、文字列の中にGoogleって必ず入っていればこうなります
<html app='chrome.exe' title='*Google*' />
<webctrl id='viewport' tag='DIV' />
Googleとあと一文字の場合はこうなりますね!
<html app='chrome.exe' title='Google?' />
<webctrl id='viewport' tag='DIV' />
まあそんな感じです。
セレクターの書き方(変数編)
セレクターに変数を埋め込んでいきましょう!!
先程のこいつを使います。
<html app='chrome.exe' title='Google' />
<webctrl id='viewport' tag='DIV' />
タイトルの部分を変数にしていきましょう。
UiPath Studioからみるとこんな感じです。
- まずは、改行を全て消します!!
<html app='chrome.exe' title='Google' /><webctrl id='viewport' tag='DIV' />
- つぎに一番左と一番右にダブルクォーテーションをつけます!
"<html app='chrome.exe' title='Google' /><webctrl id='viewport' tag='DIV' />"
- 変数にした文字列を
" + 変数 +"
に置き換える(ここで変数はvariableと示すことにします)
"<html app='chrome.exe' title='" + variable + "' /><webctrl id='viewport' tag='DIV' />"
- これをセレクターに貼り付ける!!
以上です!!
セレクターがいろいろ使いやすくなると、超幅が広がるらしいですよ~
というわけで、みなさんもやってみてください!