JobAutoでChromeのログイン状態を利用する方法|専用プロファイル

★概要

JobAutoでGoogleにログインした状態のChromeを起動し、ブラウザ操作を行う方法を説明します。「アプリを開く」からChromeを起動し、「ブラウザを起動」「ページを開く」アクションを組み合わせて操作します。

Chrome 136以降では、リモートデバッグを使用する場合、普段使っているChromeの標準ユーザーデータフォルダを指定する従来の方法は使用できません。このページでは、JobAuto用の専用プロファイルを作り、ログイン状態を保存する構成を紹介します。

※Chromeの起動引数に関する制限はGoogleの公式仕様です。JobAutoのバージョンや実行環境によって接続方法が異なる可能性があるため、運用前に現在のJobAutoで動作確認してください。


1.Chrome 136以降の仕様と、専用プロファイルが必要な理由

Chrome 136以降は、--remote-debugging-port を指定しても、通常のChromeが使用する標準のユーザーデータフォルダに対してはリモートデバッグが有効になりません。標準以外のフォルダを --user-data-dir で指定する必要があります。

この変更はChromeのCookieやログイン情報を保護するための対策です。詳しくはGoogle公式:リモートデバッグの仕様変更をご確認ください。

項目従来の構成今回の推奨構成
Chromeのデータ保存先C:\Users\ユーザー名\AppData\Local\Google\Chrome\User DataJobAuto専用の別フォルダ
普段使っているChromeのログイン情報そのまま使う想定だった自動的には引き継がれない。専用プロファイルでログインする
Chrome 136以降のリモートデバッグ標準フォルダでは制限される専用フォルダを指定して利用する

通常のChromeとJobAuto用Chromeで、同じプロファイルを同時に使用しないでください。また、Googleのログイン状態はアカウント側の認証ポリシーや有効期限によって変わるため、永久に保持されることを保証するものではありません。

2.「アプリを開く」からChromeを起動する

2-1.アクションを作成する

ロボデザインのコントロールパネルで「アプリ」→「アプリを開く」を選択し、アクションを作成します。

アプリを開くアクションの選択画面

「プログラム」の選択メニューから「Chromeを起動する」を選択します。

アプリを開くアクションでChromeを起動するプログラムを選択

2-2.Chrome起動用の引数を設定する

「引数」に、JobAuto専用のユーザーデータフォルダを指定します。次はWindowsユーザー operator で実行する例です。実際のWindowsユーザープロファイルのパスに書き換えてください。

--remote-debugging-port=9222 --remote-debugging-address=127.0.0.1 --user-data-dir="C:\Users\operator\AppData\Local\JobAuto\ChromeProfile"

上記はChromeの起動オプションの例です。--remote-debugging-port はChromeのデバッグ接続用ポートを指定します。--remote-debugging-address=127.0.0.1 は接続先をローカルPCに限定するための指定です。--user-data-dir には、標準の Google\Chrome\User Data とは異なる専用フォルダを指定します。

フォルダはロボットを動かすWindowsユーザーが読み書きできる場所に用意し、他のユーザーから不用意に閲覧・変更できないようアクセス権限を管理してください。既存のChromeのプロファイルをコピーして流用する方法は、ログイン情報が正常に移せない場合や情報保護上の問題があるため推奨しません。

Chromeの起動引数の入力欄。画像内は旧設定のため使用しない

注意:上の画像は旧バージョンの説明画面です。画像内の標準Chromeフォルダのパスは現在の設定例として使用しないでください。このページのコード例のように、JobAuto専用フォルダを指定します。

3.専用プロファイルでGoogleにログインする

  1. 設定した引数で「アプリを開く」アクションを実行し、Chromeを起動します。
  2. 専用フォルダで初回起動したChromeは、普段使っているChromeとは異なる状態で開きます。必要なGoogleサービスへアクセスします。
  3. Googleアカウントへログインします。二段階認証などを求められた場合は、組織の運用ルールに従って手動で認証します。
  4. Chromeを終了し、同じ専用フォルダを指定して再起動します。必要なサービスでログイン状態を利用できるか確認します。

GoogleアカウントでChrome自体にログインすることと、GmailなどのWebサービスにログインすることは同じではありません。実際に操作するWebサービスで必要な認証が済んでいるか確認してください。アカウントのセキュリティポリシーにより、再認証が必要になる場合があります。

4.「ブラウザを起動」でChromeに接続する

アプリからChromeを起動した後、JobAutoの「ブラウザを起動」アクションを設定します。アクションが自動表示される場合は、表示された設定画面を確認してください。

接続先の種類には、用途に応じて「Chrome(アプリケーション)」を使用します。通常の「Chrome」を新たに起動する方法とは異なり、アプリから起動したChromeを操作する構成です。

Chromeをアプリケーションとして接続するブラウザ起動アクション

設定したアクションを実行し、起動中のChromeへ接続できるかテストします。Chromeのバージョンやドライバーの状態によっては、接続できない場合があります。

5.「ページを開く」でGoogleのサービスへアクセスする

「ページを開く」アクションを作成し、操作対象のURLを指定します。

ページを開くアクションで操作対象サイトのURLを設定

例えばGmailやGoogleドライブなどの対象ページを開き、ログイン状態で表示されるか確認します。サービスごとにログイン状態が異なる場合があります。

ChromeとGoogleのログイン状態を確認する

Chromeの画面が開いても、Googleのサービスにログインできているとは限りません。実際のWebページでアカウントの状態を確認します。

Chromeのプロファイルを指定してブラウザを起動した例
Googleアカウントのログイン状態を確認した画面例

画面の画像は元記事で使用していた操作例です。新しい専用プロファイルでは初回起動時にログイン操作が必要です。


6.Chromeが起動しない・ログイン状態が引き継がれない場合

症状確認する内容
Chromeは開くがJobAutoから接続できない--remote-debugging-port の綴りと値、--user-data-dir が標準以外のフォルダか、JobAutoの接続対象が「Chrome(アプリケーション)」かを確認します。
普段のChromeと同じログイン状態にならない専用プロファイルは標準プロファイルとは別物です。専用プロファイルで必要なWebサービスにログインしてください。
前回のログイン状態が残らない毎回同じ専用フォルダを指定しているか、フォルダが削除・初期化されていないか、Webサービス側で再認証が必要になっていないかを確認します。
起動時の画面や案内が表示されるChromeの初回起動やプライバシー案内など、表示内容を確認します。画面固有の案内はChrome起動時の画面についても参照してください。
Chromeが複数起動する・正常に接続されない同じ専用プロファイルを使ったChromeがすでに起動していないか、ブラウザとドライバーの対応を確認します。

Chromeの起動やドライバーの問題についてはJobAutoでChrome・Edge・Firefoxを起動する方法を参照してください。

7.セキュリティと運用上の注意点

  • デバッグ用ポートの管理:9222 などの接続ポートをインターネットや他の端末へ公開しないでください。ローカルPC内での利用を基本とし、必要な場合以外はChromeを終了します。
  • 専用プロファイルの保護:Cookieなどの認証情報が保存される可能性があるため、フォルダのアクセス権限、バックアップ、PC利用者を適切に管理してください。
  • 同時実行:複数のロボットで同じプロファイルを同時に使用しないでください。必要に応じて個別のユーザーデータフォルダやポートを使用します。
  • Googleの認証:Googleの認証・二段階認証・組織ポリシーを無効化したり回避したりする方法ではありません。認証が必要な場合は正規の手順に従ってください。
  • 更新時の確認:ChromeやJobAutoを更新した後は、専用プロファイルでの起動、ブラウザ接続、Googleのログイン状態を再テストしてください。

JobAuto側のブラウザ接続ができても、対象サービスの仕様やセキュリティ設定によって操作が制限される場合があります。業務利用の前に、実行環境で必要な操作を確認してください。


関連するマニュアル・ナレッジ

JobAutoのブラウザ操作ナレッジ一覧へ戻る

JobAutoでJavaScriptを使ってWebページへ値を入力する方法

JobAutoのブラウザ操作で、通常の値入力では文字や値を入力できないWebページに、JavaScriptを使って値を書き込む方法を説明します。

Webサイトのテキストボックスの構造によっては、通常の値入力アクションでは入力できない場合があります。 このページでは、そのような場合の別の方法として、「JavaScriptの実行」アクションとjQueryを使って入力欄へ値を書き込む手順を紹介します。

具体的には、JavaScriptの実行アクションでjQueryを利用できるように設定し、入力対象となる項目のIDを確認して、JavaScriptから値を書き込みます。

通常の値入力アクションの設定や、「JavaScriptによる入力」を含む入力方式について確認したい場合は、 JobAutoでWebページに文字・値を入力する方法 も確認してください。

1.Javascriptの実行アクションを作成

Javascriptの実行アクションを作成して、設定画面を開きます

2.jQueryを使えるように設定

高度な設定タブの$sとしてjQueryを使えるようにする、にチェックを入れます

JavaScript 値 書き込み

3.コマンドを作成

以下のコマンドを作成します。実行するJavaScriptへ設定します。

$s(“入力個所のID“).val(“入力する値“);

入力個所のIDの調べかた

値入力アクションを作成し、設定画面の高度な設定タブのXPATHのid=となっている””で囲われた文字がIDです

JavaScript 値 書き込み

accountというIDへnoguchiという文字を入力するコマンドです。

JavaScript 値 書き込み

通常の値入力では文字を入力できない場合

Webページの入力欄によっては、JobAutoの通常の値入力では文字や値を入力できない場合があります。 このページで紹介しているJavaScript実行アクションを使った方法は、そのような場合の別の入力方法として利用できます。

ただし、現在の値入力アクションには「JavaScriptによる入力」という入力方式もあります。 まず通常の値入力アクションで利用できる入力方式を確認し、それでも目的の入力ができない場合に、このページのJavaScript実行アクションを使う方法も確認してください。

入力するテキストボックスのIDを確認する

JavaScriptから値を書き込むには、入力対象となるテキストボックスを特定する必要があります。

このページで紹介している方法では、値入力アクションを作成し、設定画面の高度な設定にあるXPathから、入力対象のIDを確認します。

XPathの「id=」に設定されている値を確認し、JavaScriptで入力対象を指定するときに利用します。

JavaScriptを実行しても値が入力されない場合

JavaScript実行アクションを実行しても値が入力されない場合は、まず入力対象として指定しているIDが正しいか確認してください。

Webサイト側の変更などによって入力欄のIDが変わっている場合は、以前設定した内容では対象を正しく指定できないことがあります。 値入力アクションの高度な設定にあるXPathを確認し、現在の入力対象のIDを確認してください。

jQueryを利用できる設定になっているか確認する

このページで紹介している方法では、JavaScript実行アクションでjQueryを利用します。

JavaScript実行アクションの高度な設定で「$sとしてjQueryを使えるようにする」が有効になっているか確認してください。

通常の値入力とJavaScript入力を使い分ける

通常のWebページへの文字入力では、まずJobAutoの値入力アクションを利用してください。 値入力アクションでは、直接入力、クリップボードからCtrl+V、JavaScriptによる入力などの入力方式を選択できます。

通常の値入力アクションでは対応できず、JavaScript実行アクションから入力欄へ直接値を書き込む必要がある場合に、このページの方法を利用します。

通常の値入力アクションについては、 JobAutoでWebページに文字・値を入力する方法 を確認してください。

Webページへの値入力で困った場合

要素が見つからない、入力対象とは違うテキストボックスが選択されるなど、JavaScript以外の原因で入力できない場合は、ブラウザの要素指定も確認してください。

ブラウザ操作全般のトラブルについては、 JobAutoブラウザ操作FAQ もあわせて確認してください。