Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
細かすぎて伝わらないAAあるある
Search
IQBocchi
December 27, 2020
Technology
0
950
細かすぎて伝わらないAAあるある
IQBocchi
December 27, 2020
Tweet
Share
More Decks by IQBocchi
See All by IQBocchi
NiFiフローのバージョン管理
iqbocchi
0
130
Other Decks in Technology
See All in Technology
生成AI時代 文字コードを学ぶ意義を見出せるか?
hrsued
1
730
さくらのIaaS基盤のモニタリングとOpenTelemetry/OSC Hokkaido 2025
fujiwara3
2
240
本が全く読めなかった過去の自分へ
genshun9
0
710
250627 関西Ruby会議08 前夜祭 RejectKaigi「DJ on Ruby Ver.0.1」
msykd
PRO
2
370
KubeCon + CloudNativeCon Japan 2025 に行ってきた! & containerd の新機能紹介
honahuku
0
120
Should Our Project Join the CNCF? (Japanese Recap)
whywaita
PRO
0
290
「Chatwork」の認証基盤の移行とログ活用によるプロダクト改善
kubell_hr
1
240
AWS Organizations 新機能!マルチパーティ承認の紹介
yhana
1
220
製造業からパッケージ製品まで、あらゆる領域をカバー!生成AIを利用したテストシナリオ生成 / 20250627 Suguru Ishii
shift_evolve
PRO
1
160
マーケットプレイス版Oracle WebCenter Content For OCI
oracle4engineer
PRO
3
940
KubeCon + CloudNativeCon Japan 2025 Recap Opening & Choose Your Own Adventureシリーズまとめ
mmmatsuda
0
230
怖くない!はじめてのClaude Code
shinya337
0
300
Featured
See All Featured
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
507
140k
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
657
60k
Making the Leap to Tech Lead
cromwellryan
134
9.4k
Imperfection Machines: The Place of Print at Facebook
scottboms
267
13k
Building a Modern Day E-commerce SEO Strategy
aleyda
42
7.4k
Build The Right Thing And Hit Your Dates
maggiecrowley
36
2.8k
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
8
800
Intergalactic Javascript Robots from Outer Space
tanoku
271
27k
Visualization
eitanlees
146
16k
Rails Girls Zürich Keynote
gr2m
94
14k
Reflections from 52 weeks, 52 projects
jeffersonlam
351
20k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
248
1.3M
Transcript
細かすぎて ベンダーも 知らなかった 便利機能& AAあるある オートメーション・エニウェア・ジャパン 佐野千紘 (IQぼっち)
最初に 5分のLTにしては 内容を詰め込みすぎました。 めっちゃダッシュで話しますが ご了承ください。 ※ LT内で紹介するBotの作り方や詳細が 知りたい方は、Twitterでからんでください!
自己紹介 $ 名前 $ 佐野千紘(IQぼっち) $ 出身 $ 山梨県 $
細かすぎて伝わらないモノマネ選手権 っぽく、今日のLTをネタ振り $ オレンジが好きという理由だけで RPAベンダーに就職し、 まもなく1年半が経過するにも関わらず 諸般の事情でBot開発経験をあまり積んで来なかったエンジニアが AAを使って今さら驚いた初心者のような発見 ※ 本日の発表内容は所属企業に関係なく、個人の見解です
作ったBot つぶやきをExcel上で書きためて TweetDeckで一気に予約投稿するBot
こんなBotです 本文を入力し、「Schedule Tweet」ボタンを押下 【ネタ①】Excelから列名指定で値取得 投稿年月と現在年月の差分から、 カレンダーの「次の月へ」ボタンを必要な回数押下 【ネタ②】四則演算のやりかた 【ネタ③】子Botを呼ぶときあるある 日・時・分の設定 【ネタ④】プロパティを変数指定して画面操作
AM/PMボタンの設定 【ネタ⑤】取得したプロパティの状態に応じて操作
最初のネタ 本文を入力し、「Schedule Tweet」ボタンを押下 【ネタ①】Excelから列名指定で値取得 投稿年月と現在年月の差分から、 カレンダーの「次の月へ」ボタンを必要な回数押下 【ネタ②】四則演算のやりかた 【ネタ③】子Botを呼ぶときあるある 日・時・分の設定 【ネタ④】プロパティを変数指定して画面操作
AM/PMボタンの設定 【ネタ⑤】取得したプロパティの状態に応じて操作
① Excelから列名で値を取得 細かすぎて度 : ★★☆☆☆ レコーダーアクションの プロパティ画面 (本文を入力する部分) レコーダーが自動取得した オブジェクトプロパティ
入力内容 Excel上の 列名に合わ せて指定 こういう指定が できることを 知らなかった (・_・;)
① Excelから列名で値を取得 細かすぎて度 : ★★☆☆☆ ベンダーのくせに知らなかった理由 - レコード型(ExcelやCSVの1行をまるっと格納するタイプの変数) の 値取得には2つのモードがある
→ インデックス別 / 名前別 - 以前はインデックス別がデフォルト (今は名前別がデフォルト) - ハンズオンもインデックス別で実施 - インデックス別の指定に慣れすぎて、 名前別の指定について全く調べて いなかった ごめんなさい - 女子部の指摘により初めて調べ、判明 女子部のみなさんありがとう♡ インデックス別の場合 $変数名[インデックス]$ 名前別の場合 $変数名{”列名”}$ 名前別/イン デックス別では、 かっこの形が 変わります
続きまして 本文を入力し、「Schedule Tweet」ボタンを押下 【ネタ①】Excelから列名指定で値取得 投稿年月と現在年月の差分から、 カレンダーの「次の月へ」ボタンを必要な回数押下 【ネタ②】四則演算のやりかた 【ネタ③】子Botを呼ぶときあるある 日・時・分の設定 【ネタ④】プロパティを変数指定して画面操作
AM/PMボタンの設定 【ネタ⑤】取得したプロパティの状態に応じて操作
② 四則演算のやりかた 細かすぎて度 : ★☆☆☆☆ 数字を扱うアクションの一覧 ?! 四則演算が ない・・・ (・_・;)
?! !! 「代入」のアクションの中で 実施するシステム!! このボタンを 押す回数を 求めたい!
② 四則演算のやりかた 細かすぎて度 : ★★★★★ 実は……「文字列変換」の中でも計算できる その後計算に使わない 値を表示/設定する ときには便利かも?
③ 子Botを呼ぶときあるある 細かすぎて度 : ★★★★★ 親Bot → 子Botを呼び出す方法 親Bot 子Bot
入力変数 引数 親からもらいたい値を 入力変数に指定 親に渡したい値を 出力変数に指定 $ディクショナリ名{”子Botの出力変数名”}$ の要領で使用
③ 子Botを呼ぶときあるある 細かすぎて度 : ★★★★★ 細かすぎる話はここからです ここの「説明」って、 入れる意味ある ・・・(・_・;)? 子Botにおける入力変数の編集画面
③ 子Botを呼ぶときあるある 細かすぎて度 : ★★★★★ 意味ありました!!!!!!!!!!!!!!!! 親Botにおける子Bot呼び出しのプロパティ画面 入れておいたコメントが こんなところに (◎ロ◎;)!!
どひゃーっ!と 驚いて ひっくりカエル
続きまして 本文を入力し、「Schedule Tweet」ボタンを押下 【ネタ①】Excelから列名指定で値取得 投稿年月と現在年月の差分から、 カレンダーの「次の月へ」ボタンを必要な回数押下 【ネタ②】四則演算のやりかた 【ネタ③】子Botを呼ぶときあるある 日・時・分の設定 【ネタ④】プロパティを変数指定して画面操作
AM/PMボタンの設定 【ネタ⑤】取得したプロパティの状態に応じて操作
④ プロパティを変数指定して画面操作 細かすぎて度 : ★★★☆☆ 1日をクリックしたときの素の状態 RPAが自動取得&判定子として適切と判断したオブジェクトがまず表示される カレンダーから投稿日の日付をクリックする処理
④ プロパティを変数指定して画面操作 細かすぎて度 : ★★★☆☆ 展開すると、さらに いろんな要素が出てくる この3つの要素は、 1日をクリックした際に 「1」だった。
→ ここが日付を判定 する根拠になるかも? ……と、 まずは仮説 を立てる。
④ プロパティを変数指定して画面操作 1日をクリックしたときの オブジェクト 2日をクリックしたときの オブジェクト 3日をクリックしたときの オブジェクト 細かすぎて度 :
★★★☆☆ 1 1 1 2 2 2 3 3 3 うむ! やはり、 「要素の内容= 日付」という 規則性が 成り立っておる!
④ プロパティを変数指定して画面操作 細かすぎて度 : ★★★☆☆ レコーダーの使いこなし方 - レコーダーが自動認識したオブジェクトの中から、 取得したいボタンや入力欄を安定的に判定できる 要素を特定し選択する(DOMXPathなど)
- オブジェクトプロパティの規則性を見つけ出し、 該当する要素を変数にして対象を取得する Tweetdeckのカレンダーでは、 innerHTML / HTML InnerText / HTML Hrefの最終要素が 必ず日付と一致する → この3つを変数に! 最終的なオブジェクト プロパティの状態
最後のネタ 本文を入力し、「Schedule Tweet」ボタンを押下 【ネタ①】Excelから列名指定で値取得 投稿年月と現在年月の差分から、 カレンダーの「次の月へ」ボタンを必要な回数押下 【ネタ②】四則演算のやりかた 【ネタ③】子Botを呼ぶときあるある 日・時・分の設定 【ネタ④】プロパティを変数指定して画面操作
AM/PMボタンの設定 【ネタ⑤】取得したプロパティの状態に応じて操作
⑤ 取得したプロパティの状態に応じて画面操作 細かすぎて度 : ★★★★☆ AM/PMを指定した状態にする処理 クリックすることによって、 ボタンの状態が切り替わる ボタンの現在の 状態を根拠に、
押すか押さないか を判断する
⑤ 取得したプロパティの状態に応じて画面操作 細かすぎて度 : ★★★★☆ AM/PMを指定した状態にする処理 オブジェクトのプロパティを取得し 変数に格納
⑤ 取得したプロパティの状態に応じて画面操作 細かすぎて度 : ★★★★☆ AM/PMを指定した状態にする処理 ① ボタンの 現在の状態 (さっき取得したプロパティ)
が… ② 投稿したいAM /PMの指定 (Excelの該当列) と…… ③ 違っていたら …… ④ クリック!
最後に 芸人らしい おもしろい つぶやき! - ネタの一部(③)は 先輩SEでも知りませんでした - BotのおかげでIQ ぼっちのツイートは
2021年2月9日分まで予約完了♪ - 同じBotをCommunity Edition (無料)でも作って動かせます - ハンズオンやってほしい人は Twitterでからんでください♪