![見出し画像](https://assets.st-note.com/production/uploads/images/100271876/rectangle_large_type_2_d0b438605dafcd50984c4866f244cf11.png?width=1200)
【動画レポ】XPath入門講座 初歩から関数まで~WinActor/変化に強いシナリオ作りのコツ~RPA Community Youtubeチャンネルより
今日は2023年2月28日の夕方に開催されたRPACommunity WinActor Tail支部のイベント「XPath入門講座 初歩から関数まで~WinActor/変化に強いシナリオ作りのコツ」の公開動画「【WinActor】XPath入門講座 初歩から関数まで、変化に強いシナリオ作りのコツ」がYoutubeのRPACommunityチャンネルに公開されたので早速レポートします。
当日はZoomにアクセスしたものの会議と被ってしまい、ほんのチョットしか聞けなかったので、しっかりと学びたいと思います。
<公開動画>
0章:なぜ広報担当が登壇?
興松 彰一(おきまつ しょういち)さん
NTTアドバンステクノロジー株式会社
・WinActorの資料作成、イベント支援
・広報〜営業〜広報で開発経験はありません
なぜ広報担当が登壇?
スキルの谷「WinActorでのXPath利用」
![](https://assets.st-note.com/img/1679091589134-ZFDyZbgeYL.png)
WinActorならXPathは難しくない!と伝えるために広報担当としてイチから勉強して総集編を作成
![](https://assets.st-note.com/img/1678793971216-JfXOkY1YUe.png?width=1200)
1章:Xpathとは?
開発者的な説明
XPath(XML Path Language)
・XML文書の特定の要素を指定して情報を取得するための言語
・同じタグを利用したり、ツリー構造のHTMLにも適用が可能
・HTMLに記述されている特定の要素を取得するための言語
![](https://assets.st-note.com/img/1679092209898-6nv5NnIrtf.png)
広報的な解説
・ウェブサイトに散らばるコンテンツ(要素)の位置を知る住所
・画像マッチングの例
再開発で目印のビルが変わっても目的地の住所は変わらない
![](https://assets.st-note.com/img/1679092529222-hxXFC8EvdP.png)
XPathが使えると・・・
・簡単にブラウザ操作ができる
・メンテナンスの手間を少なくする
・動作が早くなる
・画像に左右されない変化に強いブラウザ操作方法
・IE終了によるブラウザ移行で注目された
![](https://assets.st-note.com/img/1679092659800-6gkT2YGL7q.png)
2章:WinActorでどう使うの?
HTMLの知識がなくても使える
・23_ブラウザ関連ライブラリ 〜WinActorの機能で取得/動作指示
・HTMLファイルを調べるためのツール 〜ブラウザの機能で取得
![](https://assets.st-note.com/img/1679092960439-MjZ0Xosn0h.png)
「23_ブラウザ関連」ライブラリの使い方
①プロパティ「XPath:ブラウザ」をクリック
②プロパティ「XPath:選択」をクリック
③ブラウザの操作対象をクリック
〜ブラウザの指定が必要⇒「ブラウザ起動」「ページ表示」
![](https://assets.st-note.com/img/1679093236595-oNMQ6NMdns.png)
例)ブラウザの任意の場所に値を入力する
・まずは「ブラウザを起動し、指定されたURLを開く」
![](https://assets.st-note.com/img/1679093360236-aBcaChrr3M.png)
・「ブラウザ」をクリック
事前に指定したブラウザ種別で指定したURLが開く
・「選択」をクリックしてブラウザ操作対象をクリック
自動でXPathの値が取得できる
![](https://assets.st-note.com/img/1679093561766-mAUGLpXhli.png)
※動画では実際の操作が紹介されます
![](https://assets.st-note.com/img/1679101337774-jAwufc4Y0w.png)
3章:WinActorでXpathの値が取れないのはどんな時?どうすれば?
値が取れない時
![](https://assets.st-note.com/img/1679101698135-ZBrAmNpTrR.png)
HTMLの作り(構造)がおかしい場合、クセがある場合
・パターンは千差万別
⇒ブラウザの「HTMLを調べるツール」でXPathを取得
![](https://assets.st-note.com/img/1679101832753-2hkT3N5w81.png)
・Edgeの場合は左が「要素選択」画面、右がHTML選択画面
・CTRL+Shift+C
・右クリックで「XPathのコピー」
サイトがフレーム構造の場合
![](https://assets.st-note.com/img/1679102236829-9yLLpbJtnS.png)
⇒「23_ブラウザ関連/フレーム選択」ライブラリで対応
・開発者ツールで「flame」を検索して探す
![](https://assets.st-note.com/img/1679102202654-PNOV8VF2jj.png)
注意点
・一般的なサイトは親フレーム(0番目)
・操作対象を取得しても子フレームに移動してからしか使えない
・子フレーム間では移動できない。親フレームをいったん通す
![](https://assets.st-note.com/img/1679102465883-p5oNxXOeh1.png)
必要な設定
・「選択モード(chilld or perent)」と「Childの場合のXPath」のみ
・親(perent)の場合はXPathは不要
※以前のイベントで紹介されたたまいさんの発表内容で実際にやってみました。
![](https://assets.st-note.com/img/1679102755095-1ZhUsVMtFX.png)
4章:XPathで値を取っておけば安心?(より変化に強いXpath活用)
XPathとはいえHTMLの構造がシナリオ時と実行時で異なっていると正しく要素を指定できない
対策
①XPath関数を利用
完全一致ではなくn番目の文字、and/orなどの柔軟性がある指定
②id属性以外でのXPath指定(上級者モード)
開発者ツールでは「id」しか識別できな
![](https://assets.st-note.com/img/1679103164412-MgX0xxaJgl.png)
基本構文:要素名[@属性名=属性の値]
関数の構文:要素名[関数名(@属性名,”関数が扱う文字列”)]
条件指定の構文:要素名[条件A 条件指定 条件B]
よく使うXPath関数
・contain関数:部分一致、特定の文字列が含まれる要素を指定
・starts-with関数:前方一致、特定の文字列から始まる
・position関数:要素の位置を指定する
![](https://assets.st-note.com/img/1679103613423-moaK9m0eUc.png)
XPathで条件指定
・and条件(かつ)
・or条件(か)
・not条件(ではない)
![](https://assets.st-note.com/img/1679103768743-pSmF60yFqI.png)
※ここから練習問題になります
![](https://assets.st-note.com/img/1679103834426-frfglHJfEy.png)
<登壇資料です>
https://winactor.biz/event/docs/35110f15fa9f4ce9ef6a08c2c3c17f9748ce05fc.pdf
WinActorのコンテンツは充実していきます!
![](https://assets.st-note.com/img/1679104176591-UgGYFhSNCE.png)
<RPACommunity>
![](https://assets.st-note.com/img/1678794002842-m5FZVV5Q93.png?width=1200)
IT活用や業務の自動化に興味がある全ての方がイベントやSNSを通じて集い、繋がり、そして楽しく学び合うコミュニティ
自動化・RPA・業務改善・働き方改革に興味のあるメンバーで構成!RPA業界では初の完全な「ユーザー主体」コミュニティ。
特定企業・団体の主導ではない、「ユーザーメインのコミュニティ」です。
学びのテーマやイベント内容については企業側ではなく、ユーザーが主体となって決定しております。スポンサー企業の役割は運営サポート・技術情報提供のみとなっており、当コミュニティは法人ではなく非営利の任意団体です。
▶️YouTube
イベント動画をメインに、様々なオリジナル動画を公開しています。チャンネル登録お願いします!
▶️Slack
メンバー同士の交流用です。ぜひこちらからご参加ください。
・Slackへの参加方法
・Slack使用方法 基礎編
・Slack使用方法 応用編
▶️FaceBookグループ
イベントに関連した様々な情報を最速で共有しています!
▶️インスタグラム
イベント時のイラレコを公開しています。
この記事が気に入ったらサポートをしてみませんか?