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

執筆者:

関連記事

楽天RMSでRPA iMacros(FireFox Add-in)使ってみた

楽天RMSで毎日、商品の発送連絡をしている。 10人分でも10分もかからない量ではあるが、ひとりに発送するのに、画面中にマウスポインタを走らせて結構な数をクリックしなくてはいけないのが、疲れる。 一部 …

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

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

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

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

UiPathとブラウザからのPDF印刷

UiPathでWebブラウザで出力したPDFを印刷したいのだが、なかなかうまくいかなかった。 いろいろ試して、最後にはうまくいったのだが、コツをここにメモっておく。 (Firefox のデフォルトで入 …

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

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