Upgrade to Pro — share decks privately, control downloads, hide ads and more …

200714 UiPathのすすめ 第2部 Part2

200714 UiPathのすすめ 第2部 Part2

RPACommunity

July 14, 2020
Tweet

More Decks by RPACommunity

Other Decks in Technology

Transcript

  1. UiPathの構成 基本形(Enterprise Edtion) 標準形(Enterprise Edtion) 拡張形(Enterprise Edtion) Studio Studio Robot

    Studio Robot Orchestrator Community Edition Studio Orchestrator Robot U I P A T H リ セ ラ ー 独 力 1. 個人のRPA開発者および小規模事業者向け。 2. ずっと無料で、STUDIOは2ライセンス。Attended Robots2台。 3. UiPathによる自動更新。UiPathフォーラムの無償サポート。 引用元(抜粋):https://www.uipath.com/ja/start-trial
  2. このセミナーでの範囲 基本形(Enterprise Edition) 標準形(Enterprise Edition) 拡張形(Enterprise Edition) Studio Studio Robot

    Studio Robot Orchestrator Community Edition Studio Orchestrator Robot U I P A T H リ セ ラ ー 独 力 1. 個人のRPA開発者および小規模事業者向け。 2. ずっと無料で、STUDIOは2ライセンス。Attended Robots2台。 3. UiPathによる自動更新。UiPathフォーラムの無償サポート。 引用元(抜粋):https://www.uipath.com/ja/start-trial
  3. 今後の展開 基本形(Enterprise Edition) 標準形(Enterprise Edition) 拡張形(Enterprise Edition) Studio Studio Robot

    Studio Robot Orchestrator Community Edition Studio Orchestrator Robot U i P a t h リ セ ラ ー 独 力 1. Orchestratorは、野良ロボット対策、カスタムアクティビティ配 付、定時自動起動など、便利な機能がいっぱい! 2. コンピュータ名、ログイン情報などの設定が必要になります 引用元(抜粋):https://www.uipath.com/ja/start-trial
  4. 【処理概要】 ブラウザよりアクセスしたサイトから、外為両替相場情報を取得し、それを最終更新日のシートを持つEXC ELブックに転記する • かんたんな仕様書を書いてみよう <入力> InternetExplorer <出力> Excel <処理>

    入力(型式、内容)を確認する どういうことをするのか確認する ⇒使うアクティビティを想像してみよう 出力(型式、内容)を確認する 5. つくってみよう-2 振返り
  5. 5. つくってみよう-9 • 画面の構成…習うより慣れる! プロジェクトパネル: ロボットのファイルを管 理 アクティビティパネル: ロボットを組み立てる 部品群

    デザインパネル: ロボットにアクティビティを 搭載する。変数、引数を 定義する プロパティパネル: 搭載したアクティビティ のパラメタを設定する リボン:作成、保存、実行、レコーディング など 振返り
  6. 5. つくってみよう-20 変数(Variable)とは、一般的にプログラム言語において「値を入れておく箱」のような ものと言われます。 様々なデータを変数(箱)に中に入れることによって、中身が代わっても自由に引き出す ことができます。UiPathだけでなく、どのプログラミング言語においても必須の機能 のひとつですので、この機会に変数について理解しておきましょう。 https://uipath.site/basic/variables.html String 文字列(数字)を入れる型

    Int32 数値を入れる型 (-2147483648から+2,147,483,647) 21億4748万… Int64 数値を入れる型 922垓3372京368億5477万… (-9223372036854775808から9,223,372,036,854,775,807) String[] 文字列型の配列 Boolean True/Falseを入れる型 DateTime 日付や時間を入れる型 Object オブジェクトを入れる型 DataTable EXCELシートを入れる型 変数A 変数B 変数X 変数B <スコープ … 変数の有効範囲> 変数X 変数C 変数Bは上位 の定義と被る 変数Xは同位の 定義と被らない "123"と123とでは意味が違う "123"は文字列(数字)としての"123"で あり、123は数値としての123である。 "123" + "456" = "123456" 123 + 456 = 579 振返り
  7. 5. つくってみよう-28 今アクティブなxamlファイルを デバッグ/実行する([F6] Or Ctrl+[F6]) このプロセスのメインに設定されているxamlファイルを デバッグ/実行する([F5] Or Ctrl+[F5])

    ➢ デバッグ ... 設定したブレイクポイントで止まってみたり、 アクティビティ毎の通過ログを取得できるけど、 トライ~キャッチは効かない ➢ 実行 ... デバッグのような事は出来ないけど、その分高速 振返り
  8. 5. つくってみよう-29 project.json メインは” Main.xaml“だ! Main.xaml シーケンスA.xaml シーケンスB.xaml これやって! これやって!

    これやった! これやった! 動け! project.json メインは”NewMain.xaml“だ! Main.xaml シーケンスA.xaml シーケンスB.xaml これやって! これやって! これやった! これやった! 動け! これやって! NewMain.xaml ↓ファイルを実行 ↓ファイルを実行 ↓実行 ↓実行 今、アクティブなXAML 振返り
  9. 【処理概要】 ブラウザよりアクセスしたサイトから、外為両替相場情報を取得し、それを最終更新日のシートを持つEXC ELブックに転記する <入力> InternetExplorer 青い銀行 ⇒外貨預金へ ⇒今日の金利・為替 ⇒外貨両替相場 <出力>

    Excel 外貨両替相場_M月d 日.xlsxへ転記、保存する <処理> 「外国為替相場」表からデータスクレイピングし、「最終 更新日」を取得する(ファイル名、シート名に使用)。 「外国為替相場(通貨)」表からデータスクレイピングし、 全表を取得する。 かんたんな仕様書を書いてみよう 2
  10. 【処理概要】 ブラウザよりアクセスしたサイトから、外為両替相場情報を取得し、それを最終更新日のシートを持つEXC ELブックに転記する <入力> InternetExplorer 青い銀行 ⇒外貨預金へ ⇒今日の金利・為替 ⇒外貨両替相場 <出力>

    Excel 外貨両替相場_M月d 日.xlsxへ転記、保存する <処理> 「外国為替相場」表からデータスクレイピングし、「最終 更新日」を取得する(ファイル名、シート名に使用)。 「外国為替相場(通貨)」表からデータスクレイピングし、 全表を取得する。 いきなりこんなに は書けない! かんたんな仕様書を書いてみよう 3
  11. 【処理概要】 ブラウザよりアクセスしたサイトから、外為両替相場情報を取得し、それを最終更新日のシートを持つEXC ELブックに転記する <入力> InternetExplorer 青い銀行 ⇒外貨預金へ ⇒今日の金利・為替 ⇒外貨両替相場 <出力>

    Excel 外貨両替相場_M月d 日.xlsxへ転記、保存する <処理> 「外国為替相場」表からデータスクレイピングし、「最終 更新日」を取得する(ファイル名、シート名に使用)。 「外国為替相場(通貨)」表からデータスクレイピングし、 全表を取得する。 ③どんなクリック で、どんな画面 に遷移するか ①どんな出力内 容にするか? ②出力内容を満たす データは、どのページ に、どのように格納さ れているか? かんたんな仕様書を書いてみよう 4
  12. WEBアクセス処理での注意! • ロボットでの情報収集を禁じているWebサイトがあります! スクレイピングのやり方をQ&Aサイトで質問するな - Qiita https://qiita.com/miyabisun/items/9883f7b7006c09efa5a0 スクレイピングは違法?Webスクレイピングに関する10のよくある誤解 | Octoparse

    https://www.octoparse.jp/blog/10-myths-about-web-scraping/ IT弁護士に聞く「企業としてのスクレイピングは違法なのか?」 | PigData https://services.sms-datatech.co.jp/pig-data/2019/07/03/scrapinglaw/ AMAZON https://www.amazon.co.jp/gp/help/customer/display.html/ref=jp_surl_conditions?nodeId=201909000 利用許可およびサイトへのアクセス<抜粋> 本規約およびサービス規約の遵守を条件とし、<略>個人的に利用する権利をお客様に許諾します。 この利用許可には、<略>ロボットなどのデータ収集・抽出ツールの使用は、一切含まれません。 参考 Google,Yahooファイナンスはダメと聞い ていますが、なかなか探しきれま せんので、ご利用は自己責任でお 願いします! ★青い銀行「本ウェブサイトのご利用にあたっ て」にはロボットなどのアクセスに関しての記 載は無かった(2020/6/15現在) 5
  13. Webアクセスの基本 • 使用するブラウザを確認する。 • 最初にアクセスするURLを確認する。 • 欲しいデータまでの画面遷移を確認する。 • 「ブラウザーを開く」アクティビティでURLをブラウザで開く •

    「クリック」で、画面を遷移する • 「ブラウザーにアタッチ」で、遷移した画面を選択する – 遷移途中なら、 「クリック」で、画面を遷移する – 必要な画面なら、「データスクレイピング」をする • アクセス終了したら、「タブを閉じる」でブラウザを閉じる 事前確認項目 ロボット 6
  14. 「ブラウザーを開く」アクティビティでURLをブラウザで開く • 新しいセッション … ブラウザが既に開いていても、新規に開く • URL … 言わずもがな、開くURL •

    ブラウザの種類 … BrowserTypeで規定(★) • UI ブラウザー … ブラウザを認識するための情報を格納す る変数 8
  15. 「クリック」で、画面を遷移する • クリックの種類 … ClickType.CLICK_SINGLE • マウス ボタン … MouseButton.BTN_LEFT

    何を、どこをクリックするかが分からない!! ⇒ブラウザ内で、要素を指定 12
  16. セレクターエディター • [検証] セレクタが正しいか • [要素を選択] BROWSERなどから改め てセレクタを取得 • [ハイライト]

    対象とするセレクタを赤 枠囲みする [セレクタを編集] • 灰色行は、上位アクティビティから引 き継がれたもの • 白色行は、編集できる ⇒ワイルドカード、変数を挿入できる [属性を編集] • タグレベルで、外したりする 17
  17. セレクターエディターとアクティビティの関連 <html title=‘個人のお客さま | 青い銀行' /> <webctrl aaname='外貨預金へ' parentid='mainCol' tag='A'

    /> <html title='個人のお客さま |青い銀行' /> <webctrl aaname='外貨預金へ' parentid='mainCol' tag='A' /> ブラウザ関連アクティビティの配下に配置 単独で配置 上位画面の要素が変更になった場合、修正が楽! 上位画面の要素が変更になった場合、修正は全て! 18
  18. 自動販売機で考えてみよう 自動販売機とは、ボタンを押すと、商品が出てくる機械 でも、売価以上のお金をいれないと、商品が出てこない 150 お金を溜める所に 50円 • 100円+100円=200円と言う事が、自動 販売機には分かる! •

    200円から150円の商品を買って、お 釣りが50円と言うのも分かる! 100円をいれてみる ⇒ 100円では足りないので商品が出てこない もう100円をいれてみる ⇒ 200円になって足りたので商品が出てくる! 34
  19. 自動販売機で考えてみよう 自動販売機とは、ボタンを押すと、商品が出てくる機械 でも、売価以上のお金をいれないと、商品が出てこない 150 お金を溜める所に 50円 • 100円+100円=200円と言う事が、自動 販売機には分かる! •

    200円から150円の商品を買って、お 釣りが50円と言うのも分かる! 情報をためておく場所、名前を変数 100円をいれてみる ⇒ 100円では足りないので商品が出てこない もう100円をいれてみる ⇒ 200円になって足りたので商品が出てくる! 35
  20. DataTable型から、一つのデータを参照するには… DataTable型のデータを参照/設定は、 ① データテーブルの ② (ある)行の ③ (ある)列 の順である。 ②

    ③ 例:B4セル相当位置 DataTable.Rows(3).Item(1) ←※2 ↑※1 Or ↓※1 DataTable.Rows(3).Item("Column1") ※1 行の先頭は0から始まる ※2 最左端列は0から始まる … 41
  21. よくある勘違い 列A 列B 列C 行A1 行B1 行C1 行A2 行B2 行C2

    行A3 行B3 行C3 行A4 行B4 行C4 行A5 行B5 行C5 範囲を読み込み 列A 列B 列C 行A1 行B1 行C1 行A2 行D2 行C2 行A3 行B3 行C3 行A4 行B4 行C4 行A5 行B5 行C5 代入 この時点で、処理を終了させ、Excelに値が反映されていないって思ってしまう
  22. よくある勘違い 列A 列B 列C 行A1 行B1 行C1 行A2 行B2 行C2

    行A3 行B3 行C3 行A4 行B4 行C4 行A5 行B5 行C5 範囲を読み込み 列A 列B 列C 行A1 行B1 行C1 行A2 行D2 行C2 行A3 行B3 行C3 行A4 行B4 行C4 行A5 行B5 行C5 代入 「範囲を読み込み」と同じ左上セルを指定して、 「範囲に書き込み」アクティビティで書き戻す! 範囲に書き込み
  23. 3. 振り返り-1 • Uipath Studio Community Editionには、安定版とプレビュー版 がある(切り替え可能) • 通常Studioと、StudioXがある(切り替え後、再起動)

    • アクティビティ名は覚えず、検索する! ⇒日本語、英語でもOK! ⇒⇒多用するアクティビティは、 お気に入りに登録!
  24. 3. 振り返り-2 • 変数は、Ctrl+Kで定義できる。 但し、型と、スコープ(変数の 有効範囲)は確認する事! • 変数は、Ctrl+Spaceで参照で きる。 •

    設定はアクティビティ本体だ けでなく、パラメタパネルでも 設定できる(パラメタパネルで なければ設定できないものも ある!) 。
  25. 3. 振り返り-3 • どんなロボットにするかブレないように、入力と出力を書いた 設計書を書いておこう • どんなアクティビティを使うかをちょっと決めよう! ⇒「範囲を読み込み」 Or 「セルを読み込み」

    • それには、「どんなアクティビティがあるか」知っておこう! • それには、「UiPath アカデミー」を受講しよう! https://academy.uipath.com/