ブラウザ起動後にChrome拡張機能を使いたい
便利で豊富なChrome拡張機能を、WinActorからブラウザ起動した画面で使いたいです。
特定の目的ではなく、拡張機能を使えるようにしたいです。
Google認証を通すこととニアリーイコールだと思い込んでます。
WinActor抜きなら、このへんで何とかなるノウハウが出てきます。
https://www.google.com/search?q=Selenium+Chrome+拡張機能+Google+認証|ログイン
WinActorでもみんな奮闘するところですが、まだフォーラムでもネットでも最適解は見当たらない印象です。
ここらで知恵を結集して、便乗に便乗を重ねて、ノウハウを編み出しませんか?
特にこんな情報を寄せていただけたら嬉しいです。
- こうしたらここまではうまくいった
- こうしたけどこんな結果だった、空振りだった
- すでにクリアしてる情報がここにある
- できてるけどセキュリティ的に課題が残ってる
そうこうしてるうちに、オフィシャルなライブラリをリリースしてくれそうな気もします。
まず画像認証(reCAPTCHA)の突破は困難という情報。
Seleniumで次の実行時にもサイトのログイン状態を維持したい場合
https://rabbitfoot.xyz/selenium-chrome-profile/
技術的には、攻めようがあるという情報。
https://www.google.com/search?q=chromeDriver+AddArgument+(user-data-dir)
引数を2つ渡してWebDriverを起動すれば、Chromeにログインした状態で開けるという情報が見つかります。
2つの引数
- ユーザーデータのフォルダ名
- プロファイル名
わたしは、別のRPA的なしくみで、この引数渡しの方法で運用中です。
(Python+Selenium) or (Excel+SeleniumBasic)なら、この2ステップです。
- メールアドレス選択 or 入力、次へ
- 社内の認証のしくみ(複数キー)、ボタン
WinActorでも「ブラウザ起動」のスクリプトで、webDriverExePathの後ろをうまく加工すれば、拡張機能も使えそうな気がします。
実際のところ、どうなんでしょうか?
ここでスクリプト探究者さんがトライされたようなのですが、どう散ったのかまでは触れられておらず。
webDriverExePath を、たとえばこんなふうにしたら、、
webDriverExePath("--user-data-dir=" & "C:\User\" & !ユーザー名! & \AppData\Local\Google\Chrome\User Data","--profile-directory=" & !プロファイル名!")
カッコは不要でスペースでいいのかも。
webDriverExePathも含めて、ダブルクォーテーション?とか括って1つの引数に見せる必要があるのだろうか。
機会を見つけて試し次第、続報します。
先取り、ウェルカムです。
このへんを参考にしました。
SeleniumでChromeのプロファイルを使う | Seleniumワールド
https://selenium-world.net/selenium-tips/3519/
seleniumでユーザープロファイルを指定してChromeを立ち上げる | Let's Hack Tech
https://lets-hack.tech/programming/languages/python/selenium-profile/
SeleniumBasic + ChromeDriver でプロファイルを切り替える忘備録 | 技術屋さんの小さな日記帳
https://lil.la/archives/4594
仮にスクリプトの加工でうまくいったとして、、
拡張機能はユーザーのプロファイルに紐づく。
ほかのユーザーとか端末でシナリオを実行しようとすると、拡張機能がないからエラーになる。
拡張機能がなければChromeに追加のくだりも必要っぽい。
投稿直前によぎりました。
こに2つの比較が参考になりそうです。
ブラウザ起動:open
ブラウザ起動(ドライバ指定・プロキシ設定):openProxy
1つ目の引数がopenProfileみたいにWinActor側でClassとして定義されていれば可能っぽい。
都合よくopenProfileなんて定義されていないなら、やっぱり手前でwebDriverExePathに引数付きの値を格納しておくような方法をになるか、、
みなさんの奮闘の痕も教えてください。