6

本日、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の改良を待つことにします。 。。。_| ̄|○ 

この質問は解決済みのためクローズされています。
104e 新しいコメントを投稿
回答とコメントは、会員登録(無料)で閲覧できるようになります。