先に開いたブラウザを再利用したい

ロボットの中の複数の箇所でブラウザを使いまわしたいのですがうまく行かずお知恵を拝借できたら幸いです。

例えば、じゃらんの「池袋のラーメンランキング」的なものをスクレイピングしたい場合、

  1. 池袋駅周辺のラーメンランキングTOP10 - じゃらんnet にアクセスして「表抽出」で「店名と詳細ページのURL」をデータテーブルに取得
  2. 取得したデータテーブルでループして詳細ページのURLにアクセスし、レコーダーでデータ取得
    という流れになるかと思います。

この時、下記のような作りになるかと思うのですが、2回めの「アプリケーション/ブラウザーを使用」のときに、先に開いていたブラウザを使い回すことが出来ず、新しいブラウザを立ち上げる動きになってしまっています。(画面小さくてわかりづらく申し訳ありません)

以前にクラシックエクスペリエンスの環境でやっていたときにはBrowser変数を使うことで実現できていたように思うのですが、同じことをモダンエクスペリエンスで実現する方法に関する質問となります(クラシックが選択できることは認識していますが可能ならモダン環境下で実現したいです)。
どなたかご教示いただけたら幸いです。

画像のみ再アップします。多少は大きくなりますでしょうか。

こんにちは

UiElementの入出力があると思うので、これを利用してみてください。

1 Like

ありがとうございます。試してみます!

すみません、私がUiElementの使い方よくわかっておらずうまくいっていません。
単純にするため、2つの「アプリケーション/ブラウザーを使用」を使い、1つ目でYahooを開き、同じウィンドウでGoogleを開くような挙動にしたく、以下のようにしてみました。

【1つ目の「ブラウザーを使用」】

  • 出力要素としてUiElement型の変数「myUi」をスコープ:シーケンスで作成
  • 「ブラウザーを使用」の「出力項目」にmyUiを指定
  • ブラウザーのURLとしてYahooのURLを指定

【2つ目の「ブラウザーを使用」】

  • 入力要素としてmyUiを指定
  • ブラウザーのURLとしてGoogleのURLを指定

この状態でデバッグ実行すると、2つ目の「ブラウザーを使用」に対して「URL に移動: 移動するブラウザー タブを特定できませんでした。」のエラーが出ます。

なにか根本的なところで思い違いをしているのかもしれませんがアドバイスいただけたら幸いです。

こんにちは

最初のブラウザーを使用アクティビティのクローズ動作をNeverにしてみてください。

2 Likes

ありがとうございます!!!バッチリ期待通りの動作になりました!

1 Like