Xpathの使い方

お世話になっております。知恵をお貸しいただければと思います。

ブラウザ画面の操作でどうしてもクリック操作する位置が動的に変化するので
クリックアクティビティではなくXpathを実行アクティビティを使用して
対応しようとしているのですがどのように設定すればいいのかが不明です。

対象のブラウザはchromeなのでxpath自体は取得できましたが
XPath式という部分に入れてもコンパイルエラーの!マークが出てしまい、
設定方法が不明です。

もし設定したことがある方いましたらご教授をお願いいたします。

1 Like

こんにちは

静的コンパイルエラーということは型不一致の可能性が高いと思いますが、
String型で入力していますでしょうか?
エラーメッセージは何が出ていますでしょうか?

横から割り込みます。回答でなくて申し訳ございません。今までWinActorで20本以上ワークフロー(WinActorではシナリオと言います)を作成してきました。最近UiPath Community Editionの勉強を始めた者です。
(つまりUiPath初心者です)

UiPathでもXPathが使えるのですか?知りませんでした。
セレクターを使わなくても、UiPathでXPathを使ってWebスクレイピング可能と考えてよろしいでしょうか?
ご存じの方がいらっしゃれば教えてください。

ご返信ありがとうございます。

変数はString型で入れております。
!マークの部分にカーソルを当てると「どのオーバロードグループでもすべての必須/オプションアクティビティ引数が構成されていません」と出ています。

初心者質問で申し訳ありませんが何卒よろしくお願いいたします。

こんにちは

XML文字列と既存のXMLの両方が空欄なのではないでしょうか?
いずれか一方を設定する必要があります。

@gorby

UiPathでもXPathが使えるのですか?知りませんでした。
セレクターを使わなくても、UiPathでXPathを使ってWebスクレイピング可能と考えてよろしいでしょうか?

基本的に .net frameworkのクラスがほぼ使えますので、可否でいうと可能です。

ご返信ありがとうございます。

設定してみたところコンパイルエラーはなくなりましたが
実行で「ルートレベルのデータが無効です」とでてしまいましたので再度調査してみます。
(XMLの知識が全くないのでおそらく他RPAツールみたいにXPATHのみの設定だけでは駄目そうですね……)

ご回答いただきありがとうございます。

こんにちは

動的であってもクリック等で指定するセレクターで何とかなるケースが多いです。
あるいは、部分的な要素検索ですと、子要素を探すアクティビティ等もありますので、こちらを使うことも検討したほうが良いかもしれません。

ご返信ありがとうございます。

セレクター部分でもなんとかなるものなのですね……。
差し支えなければその子要素を探すアクティビティ名をご教授お願いしてもよろしいでしょうか。
お忙しいところ恐れ入りますがよろしくお願いいたします。

こんにちは

img20201204-2

子要素を探す(Find Children)です。
UiAutomationのバージョンによって日本語訳が若干違うかもしれません。

1 Like

ありがとうございます。

色々設定方法がなかなかややこしそうなので一度調べなおしてみます。

ご丁寧にありがとうございました。

突然すみません。gorbyと申します。XPathを実行 アクティビティのプロパティ設定方法がわからないので教えてください。

https://transit.yahoo.co.jp/search/result?from=恵比寿&flatlon=%2C%2C22548&to=豊洲&tlatlon=%2C%2C22839&viacode=&viacode=&viacode=&ym=202012&y=2020&m=12&d=22&hh=16&m1=1&m2=9&shin=1&ex=1&hb=1&al=1&lb=1&sr=1&type=1&ws=3&s=1&ei=&fl=1&tl=3&expkind=1&mtf=&out_y=&mode=&c=&searchOpt=&stype=&ticket=ic&userpass=1&passtype=&detour_id=&fromgid=&togid=&dispym=&dispd=&disptime=&disptype=&dispcnt=&dispbf=&kw=豊洲#route01

上記のサイトで、ルート1の定期券ボタンをクリックすると 6か月43,960円 という文字列がページ上部に表示されると思います。この”43,960円”をXPathを実行 アクティビティで変数 定期代に取得したいです。
XML文字列 と XPath式 を2つ入力しなければならないことは理解しています。
XML文字列は “43,960円” で正常に設定できたようです。
しかし、XPath式 は “//*[@id=“route01”]/dl/dd[2]/div[1]/dl/dd/ul/li[3]/span” で!が消えません。
何かお気づきの点があれば共有いただけないでしょうか?
それでは、ご連絡をお待ちしております。