[7.4.0]拡張機能を使ったシナリオで問題が
本日、2回目の投稿です。
ブラウザへの拡張機能インストールの件は、助けていただき、ありがとうございました。
何台かWinActorのPCがあります。
使用する人は、そのPCに自分のWindowsログインIDで入って使用します。
拡張機能を使ったシナリオを使用するには、オプションのブラウザで拡張機能を選択しなければいけませんが、
WinActorの設定はユーザ毎なので、既定値のWebDriverを変更する必要があります。
しかし、利用者は用意されているショートカットで自動起動自動終了するだけなので、WinActorは意識していないし、
担当も人事異動の度に変わるので、必ずエラーになって、問い合わせが来て、そのユーザでWinActorの設定を変えてもらうことになると思います。
シナリオ単位に設定できるのは、拡張機能からWebDriverに変更する場合だけなので、
この拡張機能を使うのはやめようかと思います。
オプションのブラウザの設定のデフォルトが拡張機能で、シナリオ情報のこのオプションの既定値がONか
オプションのブラウザの設定がユーザ単位でなくPC共通か
シナリオごとの指定がWebDriverか拡張機能の選択ならよかったのですが、・・
何か良い解決策はないでしょうか。
例えば、まだ、WinActorを1度も起動していない場合に、このオプション設定を変える方法とか(シナリオでWinActorの設定を変えられませんよね)
===================とりあえず解決 2022/6/20==============
RPAの機器は、スタートアップにWebDriverのダウンロードや、共通で使用するシナリオ、ライブラリ、スクリプトなどをファイルサーバからコピーするバチファイルを仕込んでいます。
そこに、最後に次のスクリプトを実行するようにしました。
Option Explicit
Dim fpath
Const waexe = "C:\Program Files (x86)\WinActor7\WinActor7.exe"
Const sinario = "D:\WinActor共通シナリオ\拡張機能オプション変更用.ums7"
Dim fso
Dim cmdline
Dim WshShell
Set WshShell = CreateObject("WScript.Shell")
Set fso = CreateObject("Scripting.FileSystemObject")
fpath = WshShell.SpecialFolders("MyDocuments") & "\WinActor\拡張機能オプション変更済み"
if fso.FileExists(fpath) = True then '既にファイルがあれば終了
Set WshShell = Nothing
Set fso = Nothing
WScript.Quit
end if
cmdline = Chr(34) & waexe & Chr(34) & " -f " & Chr(34) & sinario & Chr(34) & " -r"
WshShell.Run cmdline,3,False 'WinActor起動とシナリオ実行
Do Until fso.FileExists(fpath) = True 'シナリオでファイルを作成するまで待機
WScript.Sleep 500
Loop
WScript.Sleep 1000
WshShell.SendKeys("%"):WScript.Sleep 1000
WshShell.SendKeys("T"):WScript.Sleep 1000
WshShell.SendKeys("{UP}"):WScript.Sleep 1000
WshShell.SendKeys("{ENTER}"):WScript.Sleep 1500
WshShell.SendKeys("{TAB}"):WScript.Sleep 1000
WshShell.SendKeys("^{TAB}"):WScript.Sleep 1000
WshShell.SendKeys("^{TAB}"):WScript.Sleep 1000
WshShell.SendKeys("^{TAB}"):WScript.Sleep 1000
WshShell.SendKeys("^{TAB}"):WScript.Sleep 1000
WshShell.SendKeys("^{TAB}"):WScript.Sleep 1000
WshShell.SendKeys("^{TAB}"):WScript.Sleep 1000
WshShell.SendKeys("^{TAB}"):WScript.Sleep 1000
WshShell.SendKeys("^{TAB}"):WScript.Sleep 1000
WshShell.SendKeys("^{TAB}"):WScript.Sleep 1000
WshShell.SendKeys("^{TAB}"):WScript.Sleep 1000
WshShell.SendKeys("^{TAB}"):WScript.Sleep 1000
WshShell.SendKeys("{TAB}"):WScript.Sleep 1000
WshShell.SendKeys("{TAB}"):WScript.Sleep 1000
WshShell.SendKeys("{DOWN}"):WScript.Sleep 1000
WshShell.SendKeys("{TAB}"):WScript.Sleep 1000
WshShell.SendKeys("{TAB}"):WScript.Sleep 1000
WshShell.SendKeys("{ENTER}"):WScript.Sleep 1500
WshShell.SendKeys("%"):WScript.Sleep 1000
WshShell.SendKeys("F"):WScript.Sleep 1000
WshShell.SendKeys("{UP}"):WScript.Sleep 1000
WshShell.SendKeys("{ENTER}"):WScript.Sleep 1500
WshShell.SendKeys("{ENTER}"):WScript.Sleep 1500
Set WshShell = Nothing
Set fso = Nothing
D:\WinActor共通シナリオ\拡張機能オプション変更用.ums7
メッセージを表示(放置しても15秒で次へ)→「ドキュメント¥WinActor\拡張機能オプション変更済み」というファイルを作って終了
他の方のお役に立つか分かりませんが、掲載してみました。
でも、SendKeysはちょっと不安定ですね。少しでも触られたり、別のウィンドウが前面に出たらアウトですから。
WshShell.SendKeys("^{TAB}"):WScript.Sleep 1000
ですが、実行版とフル機能版と数が異なるようです。
実行版は、上記のWshShell.SendKeys("^{TAB}"):WScript.Sleep 1000を2行削除してください。
[Ctrl]+[Tab]を何度も繰り返してブラウザのタブを表示していますが、[Ctrl]+[Shift]+[Tab]なら2回でブラウザを出せるんですが、そこがうまくいかず、もしこうすればという記述方法を教えていただけると助かります。
=====================やっぱり、やめました。。。_| ̄|○ ===================
ブラウザに拡張機能をインストールするのもユーザ単位で行わなければいけなく、
WinActorのツール→拡張機能インストール→Chrome拡張機能Edgeインストール→OK→OKまではいいのですが、
この後ブラウザが起動され、インストールする作業は、スクリプトのキー送信では難しく、かといって、
これをシナリオでやるのは画像マッチングなどになるので、ちょっとでもイメージ変われば動かないので、
やはり拡張機能は使わないという方向で行こうと思います。
あまりややこしくして、数年後、メンテナンスできる人がいなくなるのは困るので、WinActorの改良を待つことにします。 。。。_| ̄|○