UiPath

UiPath+Firefox+foxit readerでPDF印刷を自動化したい

投稿日:

やりたかったことと現状:
・ブラウザはFireFoxで、PDF表示するのにfoxit readerを使っている。
・ブラウザからPDFを別タブで開き、印刷してから、タブを閉じている。
・これまでは、PDFで開くデータが多い場合に、データが読み込み終わる前に印刷処理が始まってしまうことがある(この場合、印刷データがありませんというエラーになって止まる)。十分な待機時間を取ったらうまくいくが、これで安心できるかというと、うーん。
・印刷が完全に終わってからタブを閉じるということも、UiPathでは検知・処理できないので、「処理が終わったらOKボタンをクリックしてね」というダイアログを出して待機するようにしていた。

理想:
・待機時間を固定値でとらないようにしたい。データが少ない場合は少ない待機時間で、多い場合は逆に。
・ダイアログのOKボタンをクリックしないで、最後まで自動化したい。

やったこと:
自分の業務の場合は、楽天RMSの受注管理からの出力で、「全部で〇件」と画面上に表示されているので、この件数分、待機時間をとるようにした。
実際には、基本待機時間を3秒とり(全1件であっても最初のタブを開くのに時間がかかるため)、さらに1件につき1秒追加、というようにした。

ポイント:
ブラウザの要素から取得したテキストを、変数cntに入れる。
ストリング型の変数variable1に、“00:00:” & cnt.ToString をセット。
タイムスパン型のvariable2に、Timespan.Parse(variable1) をセット。

手間取ったこと:
楽天の「全〇件」のテキストを取得するのに、正規表現を使ってやろうとして、試行錯誤した
その後、自分の使いたい画面では数字にクラスが定義されていたので、必要なかった・・・。

〇件=〇秒の待機時間を加算とするために、初めてdatetime型を使った。変換やらを、理解するのに時間がかかった。
以下のリンクを参考にさせていただいた。この情報がなければできなかったので助かった。
UiPathで年月日を加工しよう – RPAひろば

-UiPath

執筆者:

関連記事

UiPath要素が見つからない/セレクターが存在しない場合は「要素の有無を検出」アクティビティの出番

AmazonPayの入金確認・請求処理にUIPathを使っていて、メールアドレスで検索 -> 購入者特定 -> 返金処理 の流れが、大体、できている。 しかし、メールアドレスで購入者を検索 …

UiPathのアクティビティ終了後でも途中で呼び出ししたExcelファイルを開いたままにしたい

UiPathのアクティビティに「PowerShell を呼び出し」というのがあるので、それを使う。 テキストボックスには、呼び出したいファイルまでのパスをそのまま書けばよい。 ダブルクォーテーションで …

UiPathのレコーディングが遅い件が改善

UiPathのブラウザーでのレコーディングが、最近、遅くて仕方がない。 前は、こんなに遅くなかったのに、なんでだろう。 Webページ上のセレクトボックスひとつ選択して、マウスポインタが青い輪郭の半透明 …

UiPathで(クリックイベント付きの)チェックボックスをクリックできなかった

レコーディングで、全選択のチェックボックスをチェックしても、記録を実行して再現しようとしてもそのように動作しない・・・というトラブルに遭遇。 調べたところ、チェックではなく、クリック(レコーディングで …

在庫らくだのメニュー部分を、UiPathで操作する->うまくいったり、いかなかったり

テスト中は、うまくいったものが、本番では、うまくいかなくなったり(うまくいくことも、たまに)。 UiExplorerでタグを調べたり、クリックを偽装したり、待機時間を入れてみたりと、いろいろ試してみた …