遅い箇所の傾向と対策
旧タイトル:進捗をビジュアル化したい
タイトルと投稿内容が手段寄りになっちゃってました。
せめてタイトルは目的ベースに書き換えておきました。
思いが溢れ出ちゃってたので、要件をハイライトしときました。
いただいたアドバイスを元に、目的ベースのログ出力に舵を切りました。
おかげさまで、傾向が見えて来て、対策のヒントが得られました。
ダイジェスト派のかたは、回答のほうへどうぞ。
変数の値を使って、進捗をビジュアル化したいです。
進捗バーみたいなイメージです。
妙案があれば教えてください。
たとえば、シナリオ内でリストを処理する場面
- 現在行/全行(進捗%)
たとえば、1パーツ内で大量処理する場面
- カウンタ/母数(進捗%)
ほかのRPAツールなら対応してたりするのだろうか。
実際は後者です。
1件につき、1画面で多くて200項目程度×10画面分くらい処理(主に「値の取得」)するシナリオです。
https://winactor.com/questions/question/教わりながら「ブラウザ操作配列のアクションを/
変数「カウンタ」を設けてある。
[変数一覧]の[現在値]でカウンタの値の変化をすでに確認できる状況ではある。
単純な「値の取得」以外にも、こんなのにも対応済みです。
- クリックしてブロック内のタブを切り替え
- ラジオボタン/チェックボックスオンのラベルを取得
https://winactor.com/questions/question/chromeのシナリオでtd内にあるラジオボタンオンの値を/ - プルダウンの選択中の値を取得
一括処理の究極形です。
キホンはめちゃめちゃ速い。
200のうちいくつかは通り過ぎるのに1秒かかる。・・・XPathの要素がないと1秒待つ?
いくつかはもっとかかる。・・・XPathの表記が冗長だと検索に時間がかかる?
これを解明して200を常に10秒くらいで通過したい。
「200のうち、今ココ(この変数、このXPath)」も表示できればベターだけど難しいか、、
XPath制御の場合も、IEの自動記録アクションとかと同じ感じで実行時にハイライトしてくれたら、多くのWinActorユーザーがハッピーになれそうです。
設定画面でハイライトを切り替えられればバランスが良い。
NTT ATさんの目に留まってVer.7.5あたりで実装されることを願ってみるテスト。
以前にどこかのスレッドで触れたことがあった気もする。
プログレスバーの紹介がありました。
WinActorでプログレスバーを表示する | シマウマ日記
https://blog.zebrasoft.co.jp/archives/4707
Foltyn Presentation - Progress-Bar in vbScript
http://www.erich-foltyn.eu/Programming/vbs-Progress-Bar.html
イメージ通りです。
IE前提で、今でも動くようではあります。
読み込みはこれからです。
当面安心して使えるよう、Chrome版とかに加工したいです。
「使ってる」があれば、惜しげもなく披露いただけないでしょうか。
当スレッドきっかけの「作ってみた」。
ご自身もフォーラムの住人さんたちも重宝する場面があると思うんです。
こう加工すれば?の方向性や勘所の情報もウェルカムです。
Excelを介せば自由度が上がりそうだけど、今回の目的に対しては迂回感強め。
【ExcelVBA入門】進捗状況をプログレスバーで確認する方法を徹底解説 | 侍エンジニアブログ
https://www.sejuku.net/blog/72730
わたしのシチュエーションにカパッと当てはまって、ほかとバッティングさえしなければ、メモ帳とかでREPT関数相当みたいな卑近な案でも良いです。
VBScript Tips (Tips0169) [簡易プログレスバー]
https://www.whitire.com/vbs/tips0169.html
ヒットするのはだいたいIE版です。
これは少し毛色が違う。
VBScriptにスクリプト実行の進行度を表示させる » Jeans & Development
http://www.recfor.net/jeans/index.php?itemid=758
[ログ出力]パレットとか、WinActorの既存機能をこう活用しちゃえば良いだけでは?みたいな発想も面白そう。
モニタリングのアイデアを紹介したことがありました。
悲しいときスクリプトみたいな外部VBSから変数の値をずっとキャッチし続けられれば、自由が利きそう。
外部スクリプトからGetUmsVariableできるのだろうか。
たとえば、テキストファイルに数字を書き出す。
迂回感強め、、コストも高め、、
コマンドからの「Winactor.exe Get 変数」みたいなアクセスを可能にしてくれたら、できることが広がりそう。
ここと近い発想か。もしやズバリか。
https://winactor.com/questions/question/vbsへの引数渡しと戻り値受け取り方法について/
Excelへ。
https://winactor.com/questions/question/【踊ってみた同好会(仮)】秘技excelマクロへ変数/
これで見つけました。