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

細かすぎて伝わらないAAあるある

A8f0494d61f79b35ff8a4902c7decb73?s=47 IQBocchi
December 27, 2020

 細かすぎて伝わらないAAあるある

A8f0494d61f79b35ff8a4902c7decb73?s=128

IQBocchi

December 27, 2020
Tweet

Transcript

  1. 細かすぎて ベンダーも 知らなかった 便利機能& AAあるある オートメーション・エニウェア・ジャパン 佐野千紘 (IQぼっち)

  2. 最初に 5分のLTにしては 内容を詰め込みすぎました。 めっちゃダッシュで話しますが ご了承ください。 ※ LT内で紹介するBotの作り方や詳細が 知りたい方は、Twitterでからんでください!

  3. 自己紹介 $ 名前 $ 佐野千紘(IQぼっち) $ 出身 $ 山梨県 $

    細かすぎて伝わらないモノマネ選手権 っぽく、今日のLTをネタ振り $ オレンジが好きという理由だけで RPAベンダーに就職し、 まもなく1年半が経過するにも関わらず 諸般の事情でBot開発経験をあまり積んで来なかったエンジニアが AAを使って今さら驚いた初心者のような発見 ※ 本日の発表内容は所属企業に関係なく、個人の見解です
  4. 作ったBot つぶやきをExcel上で書きためて TweetDeckで一気に予約投稿するBot

  5. こんなBotです 本文を入力し、「Schedule Tweet」ボタンを押下 【ネタ①】Excelから列名指定で値取得 投稿年月と現在年月の差分から、 カレンダーの「次の月へ」ボタンを必要な回数押下 【ネタ②】四則演算のやりかた 【ネタ③】子Botを呼ぶときあるある 日・時・分の設定 【ネタ④】プロパティを変数指定して画面操作

    AM/PMボタンの設定 【ネタ⑤】取得したプロパティの状態に応じて操作
  6. 最初のネタ 本文を入力し、「Schedule Tweet」ボタンを押下 【ネタ①】Excelから列名指定で値取得 投稿年月と現在年月の差分から、 カレンダーの「次の月へ」ボタンを必要な回数押下 【ネタ②】四則演算のやりかた 【ネタ③】子Botを呼ぶときあるある 日・時・分の設定 【ネタ④】プロパティを変数指定して画面操作

    AM/PMボタンの設定 【ネタ⑤】取得したプロパティの状態に応じて操作
  7. ① Excelから列名で値を取得 細かすぎて度 : ★★☆☆☆ レコーダーアクションの プロパティ画面 (本文を入力する部分) レコーダーが自動取得した オブジェクトプロパティ

    入力内容 Excel上の 列名に合わ せて指定 こういう指定が できることを 知らなかった (・_・;)
  8. ① Excelから列名で値を取得 細かすぎて度 : ★★☆☆☆ ベンダーのくせに知らなかった理由 - レコード型(ExcelやCSVの1行をまるっと格納するタイプの変数) の 値取得には2つのモードがある

    → インデックス別 / 名前別 - 以前はインデックス別がデフォルト (今は名前別がデフォルト) - ハンズオンもインデックス別で実施 - インデックス別の指定に慣れすぎて、 名前別の指定について全く調べて いなかった ごめんなさい - 女子部の指摘により初めて調べ、判明 女子部のみなさんありがとう♡ インデックス別の場合 $変数名[インデックス]$ 名前別の場合 $変数名{”列名”}$ 名前別/イン デックス別では、 かっこの形が 変わります
  9. 続きまして 本文を入力し、「Schedule Tweet」ボタンを押下 【ネタ①】Excelから列名指定で値取得 投稿年月と現在年月の差分から、 カレンダーの「次の月へ」ボタンを必要な回数押下 【ネタ②】四則演算のやりかた 【ネタ③】子Botを呼ぶときあるある 日・時・分の設定 【ネタ④】プロパティを変数指定して画面操作

    AM/PMボタンの設定 【ネタ⑤】取得したプロパティの状態に応じて操作
  10. ② 四則演算のやりかた 細かすぎて度 : ★☆☆☆☆ 数字を扱うアクションの一覧 ?! 四則演算が ない・・・ (・_・;)

    ?! !! 「代入」のアクションの中で 実施するシステム!! このボタンを 押す回数を 求めたい!
  11. ② 四則演算のやりかた 細かすぎて度 : ★★★★★ 実は……「文字列変換」の中でも計算できる その後計算に使わない 値を表示/設定する ときには便利かも?

  12. ③ 子Botを呼ぶときあるある 細かすぎて度 : ★★★★★ 親Bot → 子Botを呼び出す方法 親Bot 子Bot

    入力変数 引数 親からもらいたい値を 入力変数に指定 親に渡したい値を 出力変数に指定 $ディクショナリ名{”子Botの出力変数名”}$ の要領で使用
  13. ③ 子Botを呼ぶときあるある 細かすぎて度 : ★★★★★ 細かすぎる話はここからです ここの「説明」って、 入れる意味ある ・・・(・_・;)? 子Botにおける入力変数の編集画面

  14. ③ 子Botを呼ぶときあるある 細かすぎて度 : ★★★★★ 意味ありました!!!!!!!!!!!!!!!! 親Botにおける子Bot呼び出しのプロパティ画面 入れておいたコメントが こんなところに (◎ロ◎;)!!

    どひゃーっ!と 驚いて ひっくりカエル
  15. 続きまして 本文を入力し、「Schedule Tweet」ボタンを押下 【ネタ①】Excelから列名指定で値取得 投稿年月と現在年月の差分から、 カレンダーの「次の月へ」ボタンを必要な回数押下 【ネタ②】四則演算のやりかた 【ネタ③】子Botを呼ぶときあるある 日・時・分の設定 【ネタ④】プロパティを変数指定して画面操作

    AM/PMボタンの設定 【ネタ⑤】取得したプロパティの状態に応じて操作
  16. ④ プロパティを変数指定して画面操作 細かすぎて度 : ★★★☆☆ 1日をクリックしたときの素の状態 RPAが自動取得&判定子として適切と判断したオブジェクトがまず表示される カレンダーから投稿日の日付をクリックする処理

  17. ④ プロパティを変数指定して画面操作 細かすぎて度 : ★★★☆☆ 展開すると、さらに いろんな要素が出てくる この3つの要素は、 1日をクリックした際に 「1」だった。

    → ここが日付を判定 する根拠になるかも? ……と、 まずは仮説 を立てる。
  18. ④ プロパティを変数指定して画面操作 1日をクリックしたときの オブジェクト 2日をクリックしたときの オブジェクト 3日をクリックしたときの オブジェクト 細かすぎて度 :

    ★★★☆☆ 1 1 1 2 2 2 3 3 3 うむ! やはり、 「要素の内容= 日付」という 規則性が 成り立っておる!
  19. ④ プロパティを変数指定して画面操作 細かすぎて度 : ★★★☆☆ レコーダーの使いこなし方 - レコーダーが自動認識したオブジェクトの中から、 取得したいボタンや入力欄を安定的に判定できる 要素を特定し選択する(DOMXPathなど)

    - オブジェクトプロパティの規則性を見つけ出し、 該当する要素を変数にして対象を取得する Tweetdeckのカレンダーでは、 innerHTML / HTML InnerText / HTML Hrefの最終要素が 必ず日付と一致する → この3つを変数に! 最終的なオブジェクト プロパティの状態
  20. 最後のネタ 本文を入力し、「Schedule Tweet」ボタンを押下 【ネタ①】Excelから列名指定で値取得 投稿年月と現在年月の差分から、 カレンダーの「次の月へ」ボタンを必要な回数押下 【ネタ②】四則演算のやりかた 【ネタ③】子Botを呼ぶときあるある 日・時・分の設定 【ネタ④】プロパティを変数指定して画面操作

    AM/PMボタンの設定 【ネタ⑤】取得したプロパティの状態に応じて操作
  21. ⑤ 取得したプロパティの状態に応じて画面操作 細かすぎて度 : ★★★★☆ AM/PMを指定した状態にする処理 クリックすることによって、 ボタンの状態が切り替わる ボタンの現在の 状態を根拠に、

    押すか押さないか を判断する
  22. ⑤ 取得したプロパティの状態に応じて画面操作 細かすぎて度 : ★★★★☆ AM/PMを指定した状態にする処理 オブジェクトのプロパティを取得し 変数に格納

  23. ⑤ 取得したプロパティの状態に応じて画面操作 細かすぎて度 : ★★★★☆ AM/PMを指定した状態にする処理 ① ボタンの 現在の状態 (さっき取得したプロパティ)

    が… ② 投稿したいAM /PMの指定 (Excelの該当列) と…… ③ 違っていたら …… ④ クリック!
  24. 最後に 芸人らしい おもしろい つぶやき! - ネタの一部(③)は 先輩SEでも知りませんでした - BotのおかげでIQ ぼっちのツイートは

    2021年2月9日分まで予約完了♪ - 同じBotをCommunity Edition (無料)でも作って動かせます - ハンズオンやってほしい人は Twitterでからんでください♪