ブラウザ起動が完了しずタイムアウトしてしまう
前提
chromeブラウザの起動に、UserDataのプロファイルを使用するため「ブラウザ起動(ドライバー指定・プロキシ指定)」ライブラリにUserDataを指定するカスタマイズをして使用していました。
chromeの利用方法はWebdriverになります。
症状
このシナリオは2年前から動かしており数日前まで問題なく利用できていたのですが、昨日からブラウザ起動のスクリプトの最後にある
SetUmsVariable "$RUN_CLASS2" , "SpvWeb"
の部分で停止(フリーズ?)してしまい、タイムアウトエラーとなってしまいます。
例えば、ブラウザ内のクリックなどでも上記の一文は存在していますが、それらのライブラリやUserDataを使用しないブラウザ起動では問題なく動いており、カスタマイズしているブラウザ起動のみで症状が出ている状態です。
この問題の切り分けとして、前後にMsgBoxを入れてどこまで進んでいるかの確認をしたところ、この行の後ろのMsgBoxが数分経っても表示されないという現象です。
5分でタイムアウトしてしまうため、繰り返しの中に例外処理を入れて実行が成功するまで繰り返してみましたが30分経過してもエラーは表示されずずっとフリーズしているような状態です。
5分タイムアウト時のエラー内容
スクリプトの実行に失敗しました。
エラー番号: 0x00000001
内容: ライブラリ実行(spv_Web)に失敗しました。ブラウザの起動に失敗しました
The HTTP request to the remote WebDriver server for URL http://localhost:51482/session timed out after 300 seconds.
全く別の環境のPCでも試してみたところ同様の症状が起きました。
いずれのPCもWindows11で、Windows10から11へのアップデートは数か月前に完了しております。
該当コード
念のため、ブラウザ起動のスクリプトをそのまま貼り付けます。
★の行がカスタマイズ部分になります。
browserName = !ブラウザ名!
browserType = !ブラウザ種類|,chrome!
webDriverExePath = !ドライバファイル名!
waitTimeSetting = !タイムアウト設定|シナリオ情報画面で指定,オプション画面で指定,ノードで指定!
waitSecond = !タイムアウト(ミリ秒)(任意)!
proxyUser = !プロキシID(任意)!
proxyPassword = !プロキシPassWord(任意)!
proxyTryTimes = !プロキシTry回数(任意)!
★userData = !UserData!'タイムアウト設定の指定
Select Case waitTimeSetting
Case "シナリオ情報画面で指定"
waitTimeSetting = "specified_scenario_info"
Case "オプション画面で指定"
waitTimeSetting = "specified_option_info"
Case Else
waitTimeSetting = "specified_node"
End Select'待機時間が未入力の場合、初期値設定
if (waitSecond = "") then
waitSecond = 10000
end if'プロキシIDが未入力の場合、初期値設定
if (proxyUser = "") then
proxyUser = "None"
end if'プロキシPassWodが未入力の場合、初期値設定
if (proxyPassword = "") then
proxyPassword = "None"
end if'プロキシTry回数が未入力の場合、初期値設定
if (proxyTryTimes = "") then
proxyTryTimes = 5
end ifSetUmsVariable "$LOAD_JAR" , "spv_Web.jar"
if GetUmsVariable("$LOAD_JAR") <> "true" then
Err.Raise 1, "", "ライブラリファイル(spv_Web)が読み込めません。"
end ifSetUmsVariable "$CLEAR_ARGUMENT", ""
★SetUmsVariable "$SET_ARGUMENT", "openUserData"
SetUmsVariable "$SET_ARGUMENT", browserName
SetUmsVariable "$SET_ARGUMENT", browserType
SetUmsVariable "$SET_ARGUMENT", webDriverExePath
SetUmsVariable "$SET_ARGUMENT", waitSecond
SetUmsVariable "$SET_ARGUMENT", proxyUser
SetUmsVariable "$SET_ARGUMENT", proxyPassword
SetUmsVariable "$SET_ARGUMENT", proxyTryTimes
★SetUmsVariable "$SET_ARGUMENT", userData
SetUmsVariable "$SET_ARGUMENT", waitTimeSettingSetUmsVariable "$RUN_CLASS2" , "SpvWeb" ←★完了しない構文
if GetUmsVariable("$RUN_CLASS2") <> "true" then
Err.Raise 1, "", "ライブラリ実行(spv_Web)に失敗しました。"
end if