この記事について
T-DASH標準のブラウザ操作キーワードでは毎回セッション情報をクリアして起動する。
ワンタイムパスワードやreCAPTCHAの回避が大変なのでうまい方法がないか調査した結果を記載しています。
もともとの回避方法
起動直後に秒待機入れて手動でワンタイムパスワードを回避。
うん。手間(笑)
セッション情報の保持ができないか調べる
素敵な記事を発見。
chromeDriverにChromeのプロファイル情報のパス
を設定すればセッション情報が引き継げる様子。
chromeDriver.AddArgument("user-data-dir=" & PROFILE_PATH)
RobotFrameworkでのchromeDriver設定方法を調べる
T-DASHではRobotFramework
を使用したカスタム動作の作成が可能な為、調べてみる。
書き方がわからないのでrobotframework user-data-dir
でググる。すると書き方発見。
Open Chrome Using Create WebDriver Keyword
${options}= Evaluate sys.modules['selenium.webdriver'].ChromeOptions() sys,selenium.webdriver
Call Method ${options} add_argument --allow-running-insecure-content
Call Method ${options} add_argument --disable-web-security
Call Method ${options} add_argument --user-data-dir\=/Users/myName/AppData/Local/Google/Chrome/User Data
Create WebDriver Chrome chrome_options=${options}
Go To https://stackoverflow.com
カスタム動作を作ってみる
フォーマットは手順になる。
設定値にURL入れて汎用的に使用したいので「設定値」
をフォーマットに含める
4.必要そうなやつだけコピペ
${value}=「設定値」
${options}= Evaluate sys.modules['selenium.webdriver'].ChromeOptions() sys,selenium.webdriver
Call Method ${options} add_argument --user-data-dir\=/Users/myName/AppData/Local/Google/Chrome/User Data
Create WebDriver Chrome chrome_options=${options}
Go To ${value}
5.--user-data-dir
を書き換える
chrome://version/
とChromeで検索するとプロフィール パスが表示されるのでコピペ
--user-data-dir\=/Users/myName/AppData/Local/Google/Chrome/User Data
↓置き換え
--user-data-dir\=C:\\Users\\[USERNAME]\\AppData\\Local\\Google\\Chrome\\User Data
・User Dataまでのパスを記載する
・WindowsPCの場合は\\
区切り
・MacPCの場合は/
区切り
6.SeleniumLibrary
を追加する
Create WebDriver
というキーワードはSeleniumLibraryを使用している為、追加が必要。
SeleniumLibrary自体はT-DASH標準ライブラリらしく、pip install
自体は不要だった
https://robotframework.org/SeleniumLibrary/SeleniumLibrary.html
7.保存
ボタンを押下する
8.作成したカスタム動作をテスト手順で使用する
Qiita公開用にGithubでログイン状態が継続されるか確認する形にしています。
9.テスト実行するとログインセッション状態を維持してChromeブラウザが起動されます
注意事項
注意点①
Chromeのプロファイル情報を基に起動するため、Chromeを起動しているとテスト実行時にエラーになります。
T-DASHをEdgeで開いて実行お願いします。
実行時に下記エラーが発生する場合はバックグラウンドでChromeのプロセスが残っていて動かない。
タスクマネージャーよりバックグラウンドのChromeプロセスを終了させていってください
使用した環境・バージョン
OS : Windows10 64bit
ブラウザ:Chrome 103.0.5060.134
T-DASH: 1.3.000
参考URL