fedoraxのブログ

人工知能(AI)、ブロックチェーン、プログラミングネタ、ITニュースネタなどについて書いています。

ブラウザのソースの取得

IEでソースが見れない、右クリックが禁止されているなどありますよね?
UiPathだと、その問題を解決してくれます。

1. アクティビティの配置

以下の3つを配置します

  • Find Children
  • Assign
  • Write Text File

f:id:fedorax:20191103090810p:plain
アクティビティの配置
※ Find Childrenの変わりにFind Elementでもいいけど、htmlタグが複数個ある場合は取りこぼしが発生します。
Write Text Fileの代わりにLog Messageなどでも構いません。

2. Find Childrenの設定

Find Childrenのプロパティを設定します。

  • Filter : "<webctrl tag='html' />"
  • Selector : "<html />"
  • WaitForReady : "Complete"
  • Scope : "FIND_DECENDANTS"
  • Children : [elList]

※ Selectorの<html />は、ブラウザのタイトルを入れたほうが尚よい "<html title="タイトル名" />"

3. Assignの設定

取得したHTMLの一覧からソースを取得します

  • To : [html]
  • Value : String.Join(vbCrLf, elList.Select(function(el) el.Get("outerhtml").ToString))

    1. elList から Function(el)でelに一件ずつ取得します
      ( ForEach el in elListと同じ)
    2. el(UiElement) からGet("outerhtml")でouterhtmlの属性情報を取得して、ToStringで文字列にします。
    3. String.Joinで、取得したouterhtmlの配列を、改行コード(vbCrLf)で改行して1列の文字列にします。

4. Write Text Fileの設定

HTMLソース(outerhtml)をファイルに出力します。

  • FileName : "Source.html"
  • Text :html

5. 動作確認

 ブラウザ(IE)を開いた状態で、UiPathを実行するとプロジェクトフォルダに"Source.html"が出力されていると思います。

自転車の所要時間と距離を取得するロボを作ってみた

保活で家から保育園までの距離と時間をそれぞれ調べたかったので、UiPathでロボを作ってみました。

そのロボのツイートが反響だったので少し手直しして公開します。
エラーとか出るかもしれませんが、コメントいただければできる限り対応します。 http://fedorax.sakura.ne.jp/rpa/BicycleRoute.zip

1. ルート一覧(Excel)を編集

Zipファイルに含まれるRoute.xlsxをまずは開いてください。
初期設定では、山手線の駅名がずらっと並んでおりますが、
ここに目的地(Addr)の列に住所を列挙してください。
f:id:fedorax:20190524213726p:plain
終わったら保存して閉じます。

2.Main.xamlをUiPathで起動する

Main.xamlをUiPathで開いて実行します。 f:id:fedorax:20190524214002p:plain

3.出発地を入力する

実行すると入力ダイアログが表示されるので、出発地の住所を入力します。 f:id:fedorax:20190524214159p:plain

4.完了まで待つ

OKボタンを押すと、勝手に出発地から目的地までの距離と時間を取得します。
ロボの実行が完了すると以下のメッセージが表示されます。 f:id:fedorax:20190524214840p:plain

5.結果ファイルを確認する

Route.xlsxを開いて、結果を確認します。 f:id:fedorax:20190524214338p:plain

ロボが取得に失敗した場合、"取得失敗"と出力されます。
TimeとKyoriの項目を削除してRoute.xlsxを保存し、再実行してください。

Lan工事

憧れだった、宅内LAN。
無線があるじゃんと言われるかもしれないが、やっぱり、安定して繋がっている有線の方が安心する。って事で、家の空管(CD管)にLANを通してみた。
 
まずコンセントカバーを外します。設置箇所は右下のアンテナコンセントの下の部分。

f:id:fedorax:20190407113556j:image

黒いアンテナコンセントを外すと、右下にオレンジ色の管(CD管)がある事を確認する。

f:id:fedorax:20190407113720j:image

ここに、通線ワイヤーを送り込みます。f:id:fedorax:20190407113828j:image

そうすると、集約部分からワイヤーが出てきました。
f:id:fedorax:20190407113905j:image

LANケーブルは、あまり速度が変らないので、カテゴリ5eのLANケーブルを用意。f:id:fedorax:20190407113950j:image


こんな感じで通線ワイヤーとLANケーブルをテープで固定します。

f:id:fedorax:20190407114102j:image

f:id:fedorax:20190407114217j:image

そしたら送り込んだコンセントから、通線ワイヤーを引きます。
(たまに、LANケーブルが出てくれなくなるので、何度か、引っ掛かりを解消しながら作業しました。)

f:id:fedorax:20190407114704j:image

 

先程、結線した部分が出てきました。f:id:fedorax:20190407114832j:image

通線ワイヤーと結線したテープを外して、空き穴に通します。f:id:fedorax:20190407115005j:image

 

こんな感じでまとめて、LANコンセントかコネクタを後で圧着できるようにしておきます。

f:id:fedorax:20190407115127j:image

 
この続きは別で記事にします。

 

UiPathでメッセージを改行して表示する

UiPathのメッセージボックスで改行して表示する方法です。

f:id:fedorax:20190404093015p:plain
UiPathでメッセージを改行して表示

メッセージボックス (Messsage Box)

アクティビティの一覧から「メッセージボックス(Message Box)」を探します。
[システム] > [ダイアログ] > [メッセージボックス]にあります。

f:id:fedorax:20190224212407p:plain
メッセージボックスアクティビティ

メッセージボックス (Messsage Box)アクティビティの配置

中央のデザイナーパネルにメッセージボックスまたはMessage Boxのアクティビティをドロップします。

f:id:fedorax:20190224212720p:plain
メッセージボックスアクティビティの配置

メッセージ文言で改行コードを挿入する

メッセージを改行させる部分に vbLfを挿入します。
vbLfの代わりに vbCrLfでも構いません。

設定例:"1行目"& vbLf &"2行目"

f:id:fedorax:20190404094037p:plain
改行したメッセージの設定

実行する

[F5]キーまたは、実行ボタンを押して結果を確認しましょう

f:id:fedorax:20190404093015p:plain
実行結果

UiPath で コンソール出力する

UiPathでStudioのOutputパネルにテキストを出力する方法です。 - Studioの開発から実行された時に、指定されたテキストが出力されます。 - Robotから実行された場合、ログファイルにはテキストが出力されません。

f:id:fedorax:20190303012453p:plain
コンソール出力結果

1行を書き込み(Writeline)アクティビティ

アクティビティの一覧から「1行を書き込み(Write Line)」を探します。
[プログラミング] > [デバッグ] > [1行を書き込み]にあります。
デフォルト場合、[お気に入り]の直下にもあります。

f:id:fedorax:20190303013035p:plain
1行を書き込み Write Line アクティビティ

1行を書き込みアクティビティは、デバッグメッセージの出力として使いましょう。
ログとして残したいメッセージは1行を書き込みではなく、メッセージをログアクティビティを使います。

1行を書き込み(Writeline)アクティビティの配置

中央のデザイナーパネルに1行を書き込みまたはWrite Lineのアクティビティをドロップします。

f:id:fedorax:20190303013224p:plain
1行を書き込みアクティビティの配置

出力テキストの設定

出力パネルに出力されるテキストを設定します。

f:id:fedorax:20190303013354p:plain
出力テキストの設定

実行する

[F5]キーまたは、実行ボタンを押して結果を確認しましょう

f:id:fedorax:20190303013747p:plain
実行結果

UiPathのメッセージダイアログで選択されたボタンを取得する

UiPathのメッセージダイアログで選択されたボタンを取得する方法です

f:id:fedorax:20190224223111p:plain
選択されたボタンを取得する

変数の定義

選択されたボタンの値を取得するための変数「retVal」を定義します。

f:id:fedorax:20190224223716p:plain
変数の定義

メッセージボックスアクティビティの配置

メッセージボックス(Message Box)のアクティビティを2つ配置します。

f:id:fedorax:20190224212720p:plain

f:id:fedorax:20190224223931p:plain
メッセージアクティビティの配置

メッセージボックスの配置方法は、以下の記事をご覧ください。 fedorax.hatenablog.com

確認メッセージの編集

確認メッセージのプロパティを変更します。 - テキスト (必須) : 表示するメッセージ本文を入力してください。 (例 : "ボタンを選択してください。") - 出力 (必須) : 選択されたボタンの値を取得する変数を設定してください。 (例 : retVal) - キャプション : メッセージダイアログのタイトル ( 例 : "確認" ) - ボタン : ボタンの種類( OK / OKCancel / YesNoCancel / YesNo )

f:id:fedorax:20190224224114p:plain
確認メッセージの変更結果

結果メッセージの編集

確認メッセージで選択されたボタンを表示するメッセージを変更します。 - テキスト : "選択されたボタンは【" & retBtn &"】です"

f:id:fedorax:20190224224641p:plain
結果メッセージの編集

実行する

[F5]キーまたは、実行ボタンを押して結果を確認しましょう

f:id:fedorax:20190224224739p:plain
確認メッセージの表示

f:id:fedorax:20190224224803p:plain
結果メッセージの結果

UiPathでメッセージダイアログのボタンを変更する

UiPathでメッセージウインドウのOKボタンを変更する方法です。

f:id:fedorax:20190224222151p:plain
Yes / No ボタンに変更した場合

メッセージボックスの配置

メッセージボックス(Message Box)のアクティビティが配置している状態から始めます。

f:id:fedorax:20190224212720p:plain

メッセージボックスの配置方法は、以下の記事をご覧ください。 fedorax.hatenablog.com

ボタンの種類変更

メッセージボックスのプロパティで、ボタンの値を変更します。

f:id:fedorax:20190224222419p:plain
ボタンの種類を変更する

実行する

[F5]キーまたは、実行ボタンを押して結果を確認しましょう

f:id:fedorax:20190224222504p:plain
Yes / Noに変更した結果